字符串的拼接

1,Mysql

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

Sql代码  
  1. SELECT '12'+'33',FAge+'1' FROM T_Employee

执行结果

Sql代码  
  1. '12'+'33'  FAge+'1'
  2. 45    26
  3. 45  29
  4. 45  24
  5. 45  26
  6. 45  29
  7. 45  28
  8. 45  24
  9. 45  29
  10. 45  23

MYSQL会尝试将加号两端的字段值尝试转换为数字类型,如果转换失败则认为字段值为
0,比如我们执行下面的SQL语句:

Sql代码  
  1. SELECT 'abc'+'123',FAge+'a' FROM T_Employee

执行完毕我们就能在输出结果中看到下面的执行结果:

Html代码  
  1. 'abc'+'123'  FAge+'a'
  2. 123  25
  3. 123  28
  4. 123  23
  5. 123  25
  6. 123  28
  7. 123  27
  8. 123  23
  9. 123  28
  10. 123  22

在MYSQL中进行字符串的拼接要使用CONCAT函数,CONCAT函数支持一个或者多个参数,
参数类型可以为字符串类型也可以是非字符串类型,对于非字符串类型的参数MYSQL将尝试
将其转化为字符串类型,CONCAT函数会将所有参数按照参数的顺序拼接成一个字符串做为
返回值。比如下面的SQL语句用于将用户的多个字段信息以一个计算字段的形式查询出来:

Sql代码  
  1. SELECT CONCAT('工号为:',FNumber,'的员工的幸福指数:',FSalary/(FAge-21))

FROM T_Employee  执行完毕我们就能在输出结果中看到下面的执行结果:

Java代码  
  1. CONCAT('工号为:',FNumber,'的员工的幸福指数:',FSalary/(FAge-21))
  2. 工号为:DEV001的员工的幸福指数:2075.000000
  3. 工号为:DEV002的员工的幸福指数:328.685714
  4. 工号为:HR001的员工的幸福指数:1100.440000

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

Sql代码  
  1. SELECT CONCAT_WS(',',FNumber,FAge,FDepartment,FSalary) FROM T_Employee

执行完毕我们就能在输出结果中看到下面的执行结果:

Java代码  
  1. CONCAT_WS(',',FNumber,FAge,FDepartment,FSalary)
  2. DEV001,25,Development,8300.00
  3. DEV002,28,Development,2300.80
  4. HR001,23,HumanResource,2200.88
  5. HR002,25,HumanResource,5200.36
  6. IT001,28,InfoTech,3900.00
  7. IT002,27,InfoTech,2800.00
  8. SALES001,23,Sales,5000.00
  9. SALES002,28,Sales,6200.00
  10. SALES003,22,Sales,1200.00

2,oracle

Oracle中使用“||”进行字符串拼接,其使用方式和MSSQLServer中的加号“+”一样。
比如执行下面的SQL语句:

Sql代码  
  1. SELECT '工号为'||FNumber||'的员工姓名为'||FName FROM T_Employee
  2. WHERE FName IS NOT NULL

执行完毕我们就能在输出结果中看到下面的执行结果:

Html代码  
  1. 工号为||FNUMBER||的员工姓名为||FNAME
  2. 工号为DEV001的员工姓名为Tom
  3. 工号为DEV002的员工姓名为Jerry
  4. 工号为SALES001的员工姓名为John
  5. 工号为SALES002的员工姓名为Kerry
  6. 工号为SALES003的员工姓名为Stone
  7. 工号为HR001的员工姓名为Jane
  8. 工号为HR002的员工姓名为Tina
  9. 工号为IT001的员工姓名为Smith

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

Sql代码  
  1. SELECT CONCAT('工号:',FNumber) FROM T_Employee

执行完毕我们就能在输出结果中看到下面的执行结果:

Html代码  
  1. CONCAT(工号:,FNUMBER)
  2. 工号:DEV001
  3. 工号:DEV002
  4. 工号:HR001
  5. 工号:HR002
  6. 工号:IT001
  7. 工号:IT002
  8. 工号:SALES001
  9. 工号:SALES002
  10. 工号:SALES003

如果CONCAT中连接的值不是字符串,Oracle会尝试将其转换为字符串,

与MYSQL的CONCAT()函数不同,Oracle的CONCAT()函数只支持两个参数,不支持两个以
上字符串的拼接。如果要进行多个字符串的拼接的话,可以使用多个CONCAT()函数嵌套使用。

Sql代码  
  1. SELECT CONCAT(CONCAT(CONCAT('工号为',FNumber),'的员工姓名为'),FName) FROM
  2. T_Employee
  3. WHERE FName IS NOT NULL

执行完毕我们就能在输出结果中看到下面的执行结果:

Html代码  
  1. CONCAT(CONCAT(CONCAT(工号为,FNUMBER),的员工姓名为),FNAME)
  2. 工号为DEV001的员工姓名为Tom
  3. 工号为DEV002的员工姓名为Jerry
  4. 工号为SALES001的员工姓名为John
  5. 工号为SALES002的员工姓名为Kerry
  6. 工号为SALES003的员工姓名为Stone
  7. 工号为HR001的员工姓名为Jane
  8. 工号为HR002的员工姓名为Tina
  9. 工号为IT001的员工姓名为Smith

转载于:https://www.cnblogs.com/azhqiang/p/5694092.html

MySql、Oracle、MSSQL中的字符串的拼接相关推荐

  1. Oracle和Mysql中的字符串的拼接

    SQL允许两个或者多个字段之间进行计算,字符串类型的字段也不例外.比如我们需要 以"工号+姓名"的方式在报表中显示一个员工的信息,那么就需要把工号和姓名两个字符 串类型的字段拼接计 ...

  2. mysql数据库,oracle数据库中对字段的拼接方法

    mysql数据库,oracle数据库中对字段的拼接方法 1.简介 在日常开发中,常常有将多个字段拼接进行sql操作的场景,比如做模糊查询,我这里分两种环境阐述:1.在数据库中的写法:2.在mybati ...

  3. oracle数据存储过程 中的循环 for 拼接字符串,oracle存储过程中使用字符串拼接

    1.使用拼接符号"||" v_sql := 'SELECT * FROM UserInfo WHERE ISDELETED = 0 AND ACCOUNT =''' || vAcc ...

  4. 批量替换 MySQL 指定字段中的字符串

    批量替换 MySQL 指定字段中的字符串 批量替换 MySQL 指定字段中的字符串是数据库应用中很常见的需求,但是有很多初学者在遇到这种需求时,通常都是用脚本来实现:其实,MySQL 内置的有批量替换 ...

  5. oracle sql now函数,SQL Server,MySQL,Oracle,PostgreSQL中常用函数用法(1)日

    练习使用Hibernate没有用MySQL数据库,而是用了前不久接触的PostgreSQL,由于不同的数据对于相同的操作有各自的函数,MySQL的date_format(),在PostgreSQL中是 ...

  6. oracle数据库替换一个字符串,oracle数据库中替换字符串

    做应用时遇到过这么个问题,数据库录入了一些基础数据,有时候可能会把数据库中所有包含"联通"的字符都替换为"电信",类似这么个功能吧,写了个简单的替换程序,当然如 ...

  7. mysql与mssql中datetime类型字段问题_excel数据存入sqlserver过程中,遇到Datetime的格式问题。...

    先讲一下我实现的大致思路: 1 读取excel数据,赋值到datatable中,然后在页面上显示 细节描述:有一些列是存到数据库时要是datetime格式的,我在赋值到datatable时也是做 如下 ...

  8. 在mysql命令行中输入字符串提示 Incorrect string value: '\xC4\xE3' for column 'name' 出现异常

    插入中文数据时会出错! 解决办法: http://blog.csdn.net/azhegps/article/details/71480633

  9. mysql 字符串转long_把数据库中的字符串格式转为long类型

    背景: 在做接口时,需要把数据库中所有ID取出来,用jmter做一些数据关联,问题来了,数据库中的ID转换出来为字符型,而接口是需要使用LONG型,所以在导出来后,数据一直报类型不为long,那如何把 ...

最新文章

  1. word笔记之选择性粘贴-设置默认粘贴为当前格式
  2. 佛祖保佑 永无bug
  3. baseline发布!OPPO安全AI挑战赛,人脸识别对抗攻击赛题详解
  4. web实现远程桌面:Apache Guacamole
  5. shutil模块,为什么说它是os模块的兄弟模块?
  6. 网络通信程序写起来很难专业课没问题
  7. TeamCenter开发系统设计系列之一
  8. springboot入门书籍推荐,“最粉嫩
  9. ubuntu 18.04 LTS 安装SecureCRT
  10. 鼎捷鼎新E10ERP软件介绍及资料
  11. 微信与企业微信的十个区别
  12. 利用Python中的Matplotlib,绘制2000年以来中国人口出生率、死亡率及增长率趋势图
  13. 《问题笔记》【Office】Office安装失败问题及解决办法
  14. 遇到的面试题基础知识
  15. 执业兽医资格考试水生动物类题库
  16. Hadoop-提高性能(调优)方法
  17. windows 时间同步工具软件
  18. Tensorboard学习——mnist_with_summaries.py ---- TensorFlow可视化
  19. 趣店纽交所上市,市值近百亿美金;百度国际事业部将独立分拆;摩拜单车进入韩国水原市丨价值早报
  20. LINUX FTP用户的创建

热门文章

  1. QQ资料清空php源码,[php源码][QQ玫瑰小镇]一键收铲种,php网页版
  2. IOException: Broken pipe
  3. Windows下VSCode运行shell
  4. IDEA 编译时 报 “常量字符串过长” 解决办法
  5. 网页中引用两个css冲突怎么办
  6. 升级到jdk1.8后 sun/io/CharToByteConverter错误及处理
  7. MySQL GUI图形化界面常用软件推荐
  8. 生成对抗网络 GAN 基本原理与发展历程
  9. 【PA2014】【BZOJ3709】Bohater(贪心,排序)
  10. html5圆圈刷新 博客,html5话出带圆的波浪线