concat拼接的坑 mysql_MySQL中字符串拼接concat_ws()和concat()函数

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 |

+------------------------+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值