concat()函数
作用:
函数用于将多个字符串连接成一个字符串。
返回值:
返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。
SELECT CONCAT('My', 'S', 'QL'); -> 'MySQL' SELECT CONCAT('My', NULL, 'QL');//只要有一个为null,则输出null NULL SELECT CONCAT(14.3); '14.3'
concat_ws()函数
作用:
函数用于将多个字符串连接成一个字符串。
返回值:
返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。
参数说明:
第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。
SELECT CONCAT_WS(',','First name','Second name','Last Name'); 'First name,Second name,Last Name' SELECT CONCAT_WS(',','First name',NULL,'Last Name');//null会直接忽略 'First name,Last Name' SELECT CONCAT_WS(',','First name','','Last Name');//空是可以正常连接的 'First name,,Last Name'
group_concat()函数
语法说明
group_concat函数的作用是将group by产生的同一个分组中的值连接起来,返回一个字符串结果。
(1) 基本语法:group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator '分隔符'] );
(2) 说明:可以使用distinct排除重复值;可以使用order by子句对结果中的值进行排序。
(3) 返回的字符串的默认分隔符从逗号(,),若要改为其他分隔符,则使用SEPARATOR子句修改分隔符。
举例
select user_id,GROUP_CONCAT(`like_name` order by `create_time` desc SEPARATOR ',' ) FROM user_table WHERE user_id > 10 GROUP BY user_id
上方SQL对应的情况举例:
假设表结构为id(主键)、user_id(用户id)、like_name(爱好)、create_time(创建时间),想一次性查询出每个人的所有爱好(每条记录代表一个人),不用二次数据处理。
如果帮助到你,请赏杯奶茶喝~
- 本文链接: https://www.shx1024.top//index/article/details/article_id/41.shtml
- 版权声明:本博客所有文章除特别声明外,均默认采用 许可协议。