- CONCAT()
- CONCAT_WS()
- GROUP_CONCAT()
update xxx.table set column= CONCAT('DBxx',device_code) where column like 'DBxx-xxx%';
為了方便下面舉例,這里放個student表供下面使用
s_id s_name s_sex
01 張三 男
02 李四 男
03 王五 男
04 趙六 null
一、CONCAT() :
最常用的字符串拼接方法,但遇到拼接中的字符串出現null的情況會返回null
語法:CONCAT(string1,string2)
DEMO1
mysql > SELECT CONCAT(s_name,s_sex) FROM student
+----------------------+
CONCAT(s_name,s_sex)
+----------------------+
張三男
趙四男
王五男
null
二、CONCAT_WS():concat with separator
比CONCAT的優點
多了個分隔符功能
如果某個字符串為null,會忽略null,並返回其他字符串的值
語法:CONCAT_WS(separator,str1,str2,…)
代表 concat with separator ,是concat()的特殊形式。第一個參數是其它參數的分隔符。分隔符的位置放在要連接的兩個字符串之間。分隔符可以是一個字符串,也可以是其它參數
DEMO2
mysql > SELECT CONCAT_WS('--',s_name,s_sex) FROM student
+-------------------------------+
CONCAT_WS('--',s_name,s_sex)
+-------------------------------+
張三--男
趙四--男
王五--男
趙六
三、GROUP_CONCAT()
連接字段,多個值顯示為一行
語法 :group_concat( [DISTINCT] 連接的字段 [Order BY 排序字段 ASC/DESC] [Separator ‘分隔符’] )
連接的可以是多個字段,也可以對連接字段進行排序
DEMO3:
mysql > SELECT GROUP_CONCAT(s_id) FROM student
+--------------------------------------------+
GROUP_CONCAT(s_id)
+--------------------------------------------+
01,02,03
1
2
3
4
5
DEMO4:連接多個字段,並以其中一個字段排序
mysql > SELECT GROUP_CONCAT(s_id,s_name order by s_id desc) FROM student
+--------------------------------------------+
GROUP_CONCAT(s_id,s_name order by s_id desc)
+--------------------------------------------+
03王五,02趙四,01張三
————————————————
https://www.cnblogs.com/maxforb/p/11555622.html