MySQL中 concat_ws()函数 作为字符串连接函数,是一个非常重要的MySQL函数,下面总结了一些在实际中可能会有的用法。

[TOC]

concat_ws() 函数

使用方法

CONCAT_WS(separator,str1,str2,...)

CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特殊形式。
第一个参数是其它参数的分隔符。
分隔符的位置放在要连接的两个字符串之间。
分隔符可以是一个字符串,也可以是其它参数。

注意:
如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。

连接后以逗号分隔

select concat_ws(',','hello','rose');
+-------------------------------+
| concat_ws(',','hello','rose') |
+-------------------------------+
| hello,rose                    |
+-------------------------------+

和MySQL中 concat() 函数 不同的是, concat_ws() 函数 在执行的时候,不会因为NULL值而返回NULL,如下:

select concat_ws('-',1111,'22',NULL);
+-------------------------------+
| concat_ws(',',1111,'22',NULL) |
+-------------------------------+
| 1111-22                       |
+-------------------------------+

>注: 如果连接的字段中有NULL的情况时要这样处理,如下:

select concat_ws('separator',IFNULL(FIELD,'Str'),IFNULL(FIELD,'Str'),IFNULL(NULL,'Str'));

这里可用 IFNULL() 函数 进行一下处理,如果字段为NULL就将其替换成其他字符,这样就可以避免字符串连接错误。

concat()函数

  MySQL的 concat() 函数 可以连接一个或者多个字符串,如

select concat('11','22','33');
+------------------------+
| concat('11','22','33') |
+------------------------+
| 112233                 |
+------------------------+

和上面的 concat_ws() 函数 不同的是MySQL的 concat() 函数 在连接字符串的时候,只要其中一个是NULL,那么将返回NULL

select concat('11','22',null);
+------------------------+
| concat('11','22',null) |
+------------------------+
| NULL                   |
+------------------------+

参考地址


最后编辑: 于 3年前

标签

评论列表(0)

    暂无评论