1. MySQL

在Java等编程语言汇总字符串的拼接可以通过加号“+”来实现,比如:"1"+"3"、"a"+"b"。在MySQL中也可以使用加号“+”来连接两个字符串比如下面的SQL:

SELECT '12'+'33', FAge+'1' FROM T_Employee

+-----------+--------+

| '12'+'33' | FAge+1 |

+-----------+--------+

|        45 |     26 |

|        45 |     29 |

|        45 |   NULL |

|        45 |     24 |

|        45 |     26 |

|        45 |     29 |

|        45 |     28 |

|        45 |     26 |

|        45 |     36 |

+-----------+--------+

仔细观察第一列,惊讶吗?这个列的现实结果并不是我们希望的“1233”,而是把“12”和“33”两个字符串当成数字来求两个数的和了;将一个数字与一个字符串用加号“+”链接也是同样的效果,比如这里的第二列。

在MySQL中进行字符串的拼接要使用CONCAT()函数,CONCAT()函数支持一个或者多个参数,参数类型可以为字符串类型也可以是非字符串类

型。对于非字符串类型的参数MySQL将尝试将其转化为字符串类型,CONCAT()函数会将所有参数按照参数的顺序拼接成一个字符串作为返回值。比如下

面的SQL语句用于将用户的多个字段信息以一个字段的形式查询出来:

SELECT CONCAT('Staff Number :', 'Happiness Index', FNumber, FSalary/(FAge-21)) from t_employee

+----------------------------------------------------------+

| concat                                                   |

+----------------------------------------------------------+

| Staff number: Happiness index of DEV001 is 2075.000000   |

| Staff number: Happiness index of DEV002 is 328.571429    |

| NULL                                                                                     |

| Staff number: Happiness index of HR001 is 2150.000000    |

| Staff number: Happiness index of HR002 is 825.000000     |

| Staff number: Happiness index of IT001 is 785.714286     |

| Staff number: Happiness index of IT002 is 466.666667     |

| Staff number: Happiness index of SALES001 is 1325.000000 |

| Staff number: Happiness index of SALES002 is 592.857143  |

+----------------------------------------------------------+

MYSQL中还提供了另外一个进行字符串拼接的函数CONCAT_WS,CONCAT_WS可以在待拼接的字符串之间加入指定的分割符。它的第一个参数值为采用的分隔符,而剩下的参数则为待拼接的字符串值,比如执行下面的SQL:

SELECT CONCAT_WS(', ', FNumber,FAge, FDepartment, FSalary) FROM T_Employee

+------------------------------------------------------+

| concat_ws(', ', FNumber, FAge, FDepartment, FSalary) |

+------------------------------------------------------+

| DEV001, 25, Development, 8300.00                     |

| DEV002, 28, Development, 2300.00                     |

| DEV003, Development, 3333.00                         |

| HR001, 23, HumanResource, 4300.00                    |

| HR002, 25, HumanResource, 3300.00                    |

| IT001, 28, InfoTech, 5500.00                         |

| IT002, 27, InfoTech, 2800.00                         |

| SALES001, 25, Sales, 5300.00                         |

| SALES002, 35, Sales, 8300.00                         |

+------------------------------------------------------+

2. Oracle

Oracle中使用双竖杠"||"进行字符串拼接。比如下面的SQL语句:

SELECT '工号为' || FNumber || '的员工姓名为'||FName FROM T_employee where fname is not null

除了"||", Oracle还支持使用CONCAT()函数进行字符串拼接,比如执行下面的SQL语句:

SELECT CONCAT('工号: ' , FNumber) FROM T_Employee

与MySQL的CONCAT()函数不同,Oracle的CONCAT()函数只支持两个参数,不支持两个以上的字符串的拼接

如果要进行多个字符串的拼接的话,可以将多个CONCAT()函数嵌套使用,上面的SQL可以改写如下:

SELECT CONCAT(CONCAT(CONCAT('工号为', FNumber), '的员工姓名为'), FName) FROM T_Employee WHERE FName IS NOT NULL

sql拼接同一字段_sql多个字段拼接相关推荐

  1. mysql 最长的字段_sql 查询某个字段最长的记录

    sql  查询文本字段中值的长度最长的记录 一.函数 1.SQL Server LEN() 函数返回文本字段中值的长度. SELECT LEN(column_name) FROM table_name ...

  2. alter table add column多个字段_SQL对表中字段的操作 alter

    ALTER TABLE 语句用于在现有表中添加.删除或修改列. 注意不同的数据库的语句有所不一样 增加和删除都基本一致. 进行修改表中字段的时候注意: 本文主要介绍 sqlserver/mysql/o ...

  3. java解析sql查询字段_sql解析json格式字段 如何获取json中某个字段的值?

    java将json数据解析为sql语句?小编给你倒一杯热水.可你惦记着其他饮料,所以你将它放置一旁.等你想起那杯水时,可惜它已经变得冰冷刺骨. 图片中是json数据,每个数据的开头都有表名称,操作类型 ...

  4. SQL 拼接多个字段的值一个字段多条记录的拼接

    例如student表: studentID studentName studentScore 01 Alice 90 02 Bill 95 03 Cindy 100 一.拼接多个字段的值 select ...

  5. sql获取一张表所有的字段_SQL语句19问

    日常对于数据库的应用不言而喻,本文推送常用的SQL语句,包含常见的数据库"增.删.改.查"操作,内容节选自在线SQL练习网站: http://sample.jimstone.com ...

  6. sql中两个表的某列相减_sql两个字段相减语句

    sql 两个字段相减语句本文章搜索了大量来自网络的关于sql 两个字段相减语句与函数代码,举例说明了两个字段相减做法. sql 两个字段相减语句 本文章搜索了大量来自网络的关于sql 两个字段相减语句 ...

  7. sql的update语句 批量更新某字段

    Mysql 批量替换: 1 有时候要实现字段的批量替换 update 表名 set 字段A = replace(字段A ,"png","jpg" ); 2 批量 ...

  8. Mysql与Sql Server查询数据库中表以及表字段

    1.查询数据库表信息 mysql查询数据库中所有表信息 SELECTtable_name AS '表名',table_comment AS '说明',create_time AS '创建时间',upd ...

  9. Access中字段类型及修改字段类型的SQL语句

    Access中字段类型及修改字段类型的SQL语句 Access中的数据类型 Access中有10中数据类型:文本.备注.数值.日期/时间.货币.自动编号.是/否.OLE对象.超级链接.查询向导. 1. ...

  10. powerdesigner生成表sql语句时,统一添加默认字段(生成时间、生成人等)

    powerdesigner生成表sql语句时,统一添加默认字段 文章目录 powerdesigner生成表sql语句时,统一添加默认字段 方式一:配置创建表默认字段: 方法二:创建表模型后执行vb语句 ...

最新文章

  1. ajax传输是用utf8,使用ajax时UTF8编码不起作用
  2. 盒模型,块状元素,行内元素
  3. mysql和hbase优缺点_hbase优缺点
  4. Android Studio 快捷键使用说明
  5. pyhanlp 提取关键词、自动摘要
  6. 一个秒杀系统的设计思考
  7. 计算机网络及公文写作知识,计算机网络期末复习题
  8. 强制更新 maven 缓存
  9. freecodecamp_如何充分利用freeCodeCamp
  10. Matplotlib 命令总结
  11. Jmeter 快速入门教程(三-1) --添加响应断言(即loadrunner中所指的检查点)
  12. stm32矩阵键盘学习笔记
  13. Canbus通信协议
  14. teamviewer或向日葵远程ubuntu系统不能调节屏幕分辨率
  15. macOS系统允许任何来源APP的安装打开
  16. 网络游戏运营的整体流程
  17. 如何建立维基百科页面(Wikipedia)
  18. 格式化数据恢复怎么做?超实用的3种方法在这!
  19. SPM12入门案例3
  20. excel组合汇总_Excel汇总20160229

热门文章

  1. 【应急响应】域名劫持事件发生后的应急响应策略
  2. 使用PIL改变图像分辨率
  3. 数据结构选择练习题(有解析)
  4. 今天在XP下装SQL2000个人版MB用了两个钟
  5. python-将csv转txt
  6. python是高级语言还是低级语言_机械语言/汇编语言/低级语言/高级语言各是指的什么...
  7. 浮点型数据在内存中是如何存储的
  8. Golang优秀开源项目汇总, 10大流行Go语言开源项目, golang 开源项目全集(golang/go/wiki/Projects), GitHub上优秀的Go开源项目...
  9. MTK6577+Android烧录
  10. 视频文件格式、视频封装格式、视频编码方式