mysql拼接字段的函数_SQL字符串拼接

2022-11-11 14:08:08 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

文章目录
  • 测试数据
  • 1、CONCAT(直接拼接函数)
  • 2、CONCAT_WS(使用指定的分割符去拼接字符串)
  • 3、GROUP_CONCAT(将查询的数据先行直接连接,然后将列通过指定的分割符拼接)
  • 4、REPEAT(复制指定字符串指定次数)

测试数据
代码语言:javascript复制
SELECT id,login_name,real_name FROM `iam_user` where id in (17,18,19)

id

login_name

real_name

17

uat_test02

测试账号2

18

uat_test03

测试账号03

19

uat_test04

测试账号04

1、CONCAT(直接拼接函数)

语法:CONCAT(str1,str2…)

案例:

代码语言:javascript复制
SELECT  CONCAT(id,login_name,real_name) AS result FROM `iam_user` where id in (17,18,19)

result

17uat_test02测试账号2

18uat_test03测试账号03

19uat_test04测试账号04

注意:CONCAT函数的参数不可以是NULL,否则只要有一个是NULL,返回值就是NULL

2、CONCAT_WS(使用指定的分割符去拼接字符串)

语法:CONCAT_WS(separator,str1,str2…)

案例:

代码语言:javascript复制
SELECT  CONCAT_WS(',',id,login_name,real_name) AS result FROM `iam_user` where id in (17,18,19)

result

17,uat_test02,测试账号2

18,uat_test03,测试账号03

19,uat_test04,测试账号04

注意:CONCAT_WS函数的separator参数不可以是NULL,否则返回值就是NULL,待拼接字符串如果为NULL,则不影响其他字符串的拼接

3、GROUP_CONCAT(将查询的数据先行直接连接,然后将列通过指定的分割符拼接)

语法:GROUP_CONCAT([DISTINCT] str1,str2… [ORDER BY str1 ASC/DESC ,str2 ASC/DESC…] [SEPARATOR ‘separator’])

代码语言:javascript复制
SELECT GROUP_CONCAT(DISTINCT id,login_name,real_name ORDER BY id DESC SEPARATOR ',') AS result FROM `iam_user` where id in (17,18,19)

案例:

result

19uat_test04测试账号04,18uat_test03测试账号03,17uat_test02测试账号2

注意:CONCAT_CONCAT函数的separator参数可以是没有的,只有待拼接字符串时,默认的separator是 ‘,’

4、REPEAT(复制指定字符串指定次数)

语法:REPEAT(str,num)

案例:

代码语言:javascript复制
SELECT REPEAT(id,2) AS result FROM `iam_user` where id in (17,18,19)

result

1717

1818

1919

注意:REPEAT函数的num参数不可以是NULL,否则返回值就是NULL

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/187735.html原文链接:https://javaforall.cn

0 人点赞