1. 程式人生 > 其它 >MySql 字串函式concat和concat_ws

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