MySql实现查询结果集中的部分内容拼接
MySQL中concat函数(连接字符串)
实现方法
CONCAT(str1,str2,...)
返回结果为连接参数产生的字符串。
注意:
- 如有任何一个参数为NULL ,则返回值为 NULL。
- 如果所有参数均为非二进制字符串,则结果为非二进制字符串。若存在一二进制字符串,结果为二进制字符串。
concat函数可以连接一个或者多个字符串
列:
SELECT CONCAT('一个参数');
SELECT CONCAT('第一个参数', '第二个参数' ,'第三个参数');
空值查询
SELECT CONCAT('第一个参数', NULL ,'第三个参数');
结果
实例
SELECT CONCAT(bb.`call`, bu.`call`, bh.number,'号房间') site FROM bs_building bb
INNER JOIN bs_unit bu ON bb.id = bu.building_id
INNER JOIN bs_house bh ON bb.id = bh.building_id AND bu.id = bh.unit_id
WHERE bh.id = 4
结果:
CONCAT_WS函数
实现方法
CONCAT_WS(separator,str1,str2,...)
CONCAT_WS() 是CONCAT()的特殊形式。 第一个参数 [separator] 表示分隔符的意思。
注:
- 分隔符可以是一个字符串,也可以是其它参数。
- 如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。
- CONCAT_WS()函数在执行的时候,不会因为NULL值而返回NULL 。
实例
SELECT concat_ws('——', bb.`call`, bu.`call`, bh.number,'号房间') site FROM bs_building bb
INNER JOIN bs_unit bu ON bb.id = bu.building_id
INNER JOIN bs_house bh ON bb.id = bh.building_id AND bu.id = bh.unit_id
WHERE bh.id = 4
结果:
GROUP_CONCAT()函数
实现方法
GROUP_CONCAT(expr Separator '分割符')
GROUP_CONCAT() 是将查询的的指定信息拼接。
注:
- expr 为指定的查询字段。
- Separator ‘分割符’ 为指定结果直接的分割字符,默认为逗号(,)分割。
实例
SELECT GROUP_CONCAT(`call` SEPARATOR '+') FROM bs_building WHERE id < 4 GROUP BY type
结果: