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