mysql中concat_ws()函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql中concat_ws()函数相关的知识,希望对你有一定的参考价值。

参考技术A 使用函数CONCAT_WS()。语法为:CONCAT_WS(separator,str1,str2,…)
CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特殊形式。第一个参数是其它参数的分隔符。分隔符放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。但是CONCAT_WS()不会忽略任何空字符串。 (然而会忽略所有的 NULL)。

所以使用concat_ws()函数可以拼接多个字符串为一个字符串(当某个字段为空字符串或null值时也能获取正确结果)。
如有不当之处欢迎指正谢谢。

运算符的差异

在不同的数据库系统中字符串拼接的方式是不同的,下面的主流数据库系统对字符串拼接的支持:

MYSQL:在MYSQL 中进行字符串的拼接要使用CONCAT 函数,CONCAT 函数支持一个或者多个参数,比如CONCAT("Hello",1,"World");MYSQL 中还提供了另外一个进行字符串拼接的函数CONCAT_WS,CONCAT_WS 可以在待拼接的字符串之间加入指定的分隔符,比如CONCAT_WS ("Hello",1,"World")。

MSSQLServer:MSSQLServer 中可以直接使用加号“+”来拼接字符串,比如"Hello"+"World"。

Oracle:Oracle中使用“||”进行字符串拼接,比如"Hello"||"World";除了“||”,Oracle还支持使用CONCAT()函数进行字符串拼接,不过与MYSQL 的CONCAT()函数不同,Oracle 的CONCAT()函数只支持两个参数,不支持两个以上字符串的拼接。

DB2:DB2 中使用“||”进行字符串拼接,比如"Hello"||"World"。

以上是关于mysql中concat_ws()函数的主要内容,如果未能解决你的问题,请参考以下文章

mysql之concat concat_ws group_concat

hive - concat_ws 函数

mysql:concat()与concat_ws()

concat和concat_ws

mysql concat_ws 与 concat 多字段模糊匹配应用

MySQL 中 concat 函数