標籤:style ar size sql on mysql sp 字串
Mysql的查詢結果列欄位拼接,可以用下面兩個函數實現:
1. concat函數
mysql> select concat('1','2','3') from test ;+---------------------+| concat('1','2','3') |+---------------------+| 123 |+---------------------+
如果串連串中存在NULL,則返回結果為NULL:
mysql> select concat('1','2',NULL,'3') from test ;+--------------------------+| concat('1','2',NULL,'3') |+--------------------------+| NULL |+--------------------------+
2. concat_ws函數
concat(separator,str1,str2,...) 代表 concat with separator ,是concat()的特殊形式。第一個參數是其它參數的分隔字元。分隔字元的位置放在要串連的兩個字串之間。分隔字元可以是一個字串,也可以是其它參數。
mysql> select concat_ws(':','1','2','3') from test ;+----------------------------+| concat_ws(':','1','2','3') |+----------------------------+| 1:2:3 |+----------------------------+
分隔字元為NULL,則返回結果為NULL:
mysql> select concat_ws(NULL,'1','2','3') from test; +-----------------------------+| concat_ws(NULL,'1','2','3') |+-----------------------------+| NULL | +-----------------------------+
如果參數中存在NULL,則會被忽略:
mysql> select concat_ws(':','1','2',NULL,NULL,NULL,'3') from test ;+-------------------------------------------+| concat_ws(':','1','2',NULL,NULL,NULL,'3') |+-------------------------------------------+| 1:2:3 |+-------------------------------------------+
可以對NULL進行判斷,並用其它值進行替換:
mysql> select concat_ws(':','1','2',ifNULL(NULL,'0'),'3') from bank limit 1; +---------------------------------------------+| concat_ws(':','1','2',ifNULL(NULL,'0'),'3') |+---------------------------------------------+| 1:2:0:3 | +---------------------------------------------+