title: sql拼接函数:concat()使用
date: 2023-01-05 14:28:58.009
updated: 2023-01-05 14:37:36.456
url: /archives/sql拼接函数concat使用
categories:
- sql
tags: - sql
1.concat()
concat()函数用于将两个字符串连接起来,形成一个单一的字符串
示例表格:
id | name | work_date | daily |
---|---|---|---|
1 | John | 2007-01-24 | 250 |
2 | Ram | 2007-05-27 | 270 |
# sql:
select concat(id, name, work_date) FROM employee_tbl;
结果:
CONCAT(id, name, work_date) |
---|
1John2007-01-24 |
2Ram2007-05-27 |
2.concat_ws()
使用方法:concat_ws(separator ,str2,str2,…)
concat_ws()代表concat with separator,是concat()函数的特殊形式。第一个参数是其他参数的分隔符,分隔符的位置要放在两个字符串连接的位置之间。分割符可以是一个字符串,也可以是其他参数
注意:如果分隔符为NULL,那么结果也为NULL,函数会忽略任何分隔符参数后的NULL值
示例:
select concat_ws(',','11','22','33');
结果:
concat_ws(‘,’,‘11’,‘22’,‘33’) |
---|
11,22,33 |
示例:
select concat_ws(',','11','22',NULL);
结果:
concat_ws(‘,’,‘11’,‘22’,NULL) |
---|
11,22 |
3.group_concat()
完整的语法如下:
group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator ‘分隔符’])
示例:
id | name |
---|---|
1 | 10 |
1 | 20 |
2 | 10 |
2 | 20 |
3 | 200 |
3 | 500 |
sql: 以id分组,把name字段的值打印在一行,分号分隔
select id,group_concat(name separator ';') from aa group by id;
结果:
id | name |
---|---|
1 | 10;20 |
2 | 10;20 |
3 | 200;500 |