標籤:
從資料庫裡取N個欄位,然後組合到一起用“,”分割顯示,起初想到用CONCAT()來處理,好是麻煩,沒想到在手冊裡居然有提到 CONCAT_WS(),非常好用。
CONCAT_WS(separator, str1, str2,...)
它是一個特殊形式的 CONCAT()。第一個參數剩餘參數間的分隔字元。分隔字元可以是與剩餘參數一樣的字串。如果分隔字元是 NULL,傳回值也將為 NULL。這個函數會跳過分隔字元參數後的任何 NULL 和Null 字元串。分隔字元將被加到被串連的字串之間
簡單例子如下:
mysql> SELECT CONCAT_WS(",","First name","Second name","Last Name"); -> ‘First name,Second name,Last Name‘ mysql> SELECT CONCAT_WS(",","First name",NULL,"Last Name"); -> ‘First name,Last Name‘
另外從網上找到如下資料:
mysql CONCAT() 函數用於將多個字串串連成一個字串,是最重要的mysql函數之一,下面就將為您詳細介紹mysql CONCAT()函數,供您參考
mysql CONCAT(str1,str2,…)
返回結果為串連參數產生的字串。如有任何一個參數為NULL ,則傳回值為 NULL。或許有一個或多個參數。 如果所有參數均為非二進位字串,則結果為非二進位字串。 如果自變數中含有任一二進位字串,則結果為一個二進位字串。一個數字參數被轉化為與之相等的二進位字串格式;若要避免這種情況,可使用顯式類型 cast, 例如: SELECT CONCAT(CAST(int_col AS CHAR), char_col)
mysql> SELECT CONCAT(’My’, ‘S’, ‘QL’); -> ‘MySQL’ mysql> SELECT CONCAT(’My’, NULL, ‘QL’); -> NULL mysql> SELECT CONCAT(14.3); -> ‘14.3′
另外一個字串串連函數:
mysql CONCAT_WS(separator,str1,str2,…)
CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特殊形式。 第一個參數是其它參數的分隔字元。分隔字元的位置放在要串連的兩個字串之間。分隔字元可以是一個字串,也可以是其它參數。如果分隔字元為 NULL,則結果為 NULL。函數會忽略任何分隔字元參數後的 NULL 值。
mysql> SELECT CONCAT_WS(’,‘,’First name’,‘Second name’,‘Last Name’); -> ‘First name,Second name,Last Name’ mysql> SELECT CONCAT_WS(’,‘,’First name’,NULL,’Last Name’); -> ‘First name,Last Name’
mysql CONCAT_WS()不會忽略任何Null 字元串。 (然而會忽略所有的 NULL)。
Mysql字串串連函數 CONCAT()與 CONCAT_WS()