CONCAT()函数用于将多个字符串连接成一个字符串,是最重要的mysql函数之一,下面就将为您详细介绍 CONCAT() 函数。
返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。或许有一个或多个参数。 如果所有参数均为非二进制字符串,则结果为非二进制字符串。 如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 例如:
mysql> select concat(cast(100 as char), ' Hello');
+-------------------------------------+
| concat(cast(100 as char), ' Hello') |
+-------------------------------------+
| 100 Hello |
+-------------------------------------+
1 row in set
mysql> select concat(' My', 'S', 'QL');
+--------------------------+
| concat(' My', 'S', 'QL') |
+--------------------------+
| MySQL |
+--------------------------+
1 row in set
mysql> select concat(' My', NULL, 'QL');
+---------------------------+
| concat(' My', NULL, 'QL') |
+---------------------------+
| NULL |
+---------------------------+
1 row in set
mysql> select concat(14.3);
+--------------+
| concat(14.3) |
+--------------+
| 14.3 |
+--------------+
1 row in setCONCAT_WS() 代表 CONCAT With Separator ,是 CONCAT() 的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。
mysql> select concat_ws('|', 'First Name', 'Second Name', 'Last Name');
+----------------------------------------------------------+
| concat_ws('|', 'First Name', 'Second Name', 'Last Name') |
+----------------------------------------------------------+
| First Name|Second Name|Last Name |
+----------------------------------------------------------+
1 row in setCONCAT_WS() 不会忽略任何空字符串,然而会忽略所有的 NULL。
mysql> select concat_ws('|', 'First Name', NULL, ' ', 'Last Name');
+-------------------------------------------------------+
| concat_ws('|', 'First Name', NULL, ' ', 'Last Name') |
+-------------------------------------------------------+
| First Name| |Last Name |
+-------------------------------------------------------+
1 row in set