MySQL字符串连接函数是我们很常用的函数,下面就为您详细介绍MySQL字符串连接函数的用法,希望可以让您对MySQL字符串连接函数有更多的了解 。
使用方法:
CONCAT(str1,str2,…)
返回结果为连接参数产生的字符串 。如有任何一个参数为NULL ,则返回值为 NULL 。
注意:
如果所有参数均为非二进制字符串,则结果为非二进制字符串 。
如果自变量中含有任一二进制字符串,则结果为一个二进制字符串 。
一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 例如:
SELECT CONCAT(CAST(int_col AS CHAR), char_col)
MySQL的concat函数可以连接一个或者多个字符串,如
- mysql> select concat(10);
- +--------------+
- | concat(10) |
- +--------------+
- | 10 |
- +--------------+
- 1 row in set (0.00 sec)
-
- mysql> select concat(11,22,33);
- +------------------------+
- | concat(11,22,33) |
- +------------------------+
- | 112233 |
- +------------------------+
- 1 row in set (0.00 sec)
-
MySQL的concat函数在连接字符串的时候,只要其中一个是NULL,那么将返回NULL
- mysql> select concat(11,22,null);
- +------------------------+
- | concat(11,22,null) |
- +------------------------+
- | NULL |
- +------------------------+
- 1 row in set (0.00 sec)
MySQL中concat_ws函数
使用方法:
CONCAT_WS(separator,str1,str2,...)
CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特殊形式 。第一个参数是其它参数的分隔符 。分隔符的位置放在要连接的两个字符串之间 。分隔符可以是一个字符串,也可以是其它参数 。
注意:
如果分隔符为 NULL,则结果为 NULL 。函数会忽略任何分隔符参数后的 NULL 值 。
如连接后以逗号分隔
- mysql> select concat_ws(,,11,22,33);
-
- +-------------------------------+
- | concat_ws(,,11,22,33) |
- +-------------------------------+
- | 11,22,33 |
- +-------------------------------+
- 1 row in set (0.00 sec)
-
和MySQL中concat函数不同的是, concat_ws函数在执行的时候,不会因为NULL值而返回NULL
- mysql> select concat_ws(,,11,22,NULL);
- +-------------------------------+
- | concat_ws(,,11,22,NULL) |
- +-------------------------------+
- | 11,22 |
- +-------------------------------+
- 1 row in set (0.00 sec)