MySql 字串函式concat和concat_ws
一、concat函式
1、功能
返回由引數連線而產生的字串。可能有一個或多個引數。如果所有引數都是非二進位制字串,則結果為非二進位制字串。如果引數包含任何二進位制字串,則結果是一個二進位制字串。數字引數被轉換為等效的非二進位制字串形式。如果引數為NULL, CONCAT()返回NULL。
2、語法
concat(str1, str2,...)
3、舉例
mysql> select concat(id,productname) as '結果' from fontproduct limit 0,1;
+------------------+
| 結果 |
+------------------+
| 1435漢儀中簡黑簡 |
+------------------+
1 row in set
mysql> select concat(id,'|',productname) as '結果' from fontproduct limit 0,1;
+-------------------+
| 結果 |
+-------------------+
| 1435|漢儀中簡黑簡 |
+-------------------+
1 row in set
mysql> SELECT CONCAT('My', 'S', 'QL') as '結果';
+-------+
| 結果 |
+-------+
| MySQL |
+-------+
1 row in set
mysql> SELECT CONCAT('My', NULL, 'QL') as '結果';
+------+
| 結果 |
+------+
| NULL |
+------+
1 row in set
mysql> SELECT CONCAT(14.3) as '結果';
+------+
| 結果 |
+------+
| 14.3 |
+------+
1 row in set
從上面示例中可以看出,如果欄位間需要分隔符,如果10個欄位,要輸入九次逗號,麻煩很多,不過concat_ws()可以解決。
二、concat_ws
1、功能
CONCAT_WS()代表concenate With Separator,是CONCAT()的一種特殊形式。第一個引數是其餘引數的分隔符。在要連線的字串之間新增分隔符。分隔符可以是字串,其他引數也可以是字串。如果分隔符為NULL,則結果為NULL。
2、語法
CONCAT_WS(separator,str1,str2,...)
-
第一個引數指定分隔符。
-
需要注意的是分隔符不能為null。
3、舉例
mysql> select concat_ws('|',id,productname) as '結果' from fontproduct limit 0,1; +-------------------+ | 結果 | +-------------------+ | 1435|漢儀中簡黑簡 | +-------------------+ 1 row in set