mysql字符串拼接

发布时间: 2023-11-21 10:39 阅读: 文章来源:1MUMB76PS

本文主要介绍了MySQL中怎么连接字符串,+的用法,concat函数的用法,concat_ws函数的用法,感兴趣的小伙伴们可以参考一下。

MySQL中的"+"

在MySQL中可以使用加号“+”来连接两个字符串,“+”只适合整数相加,不适合字符串。

select "11"+"12";

MySQL会尝试将加号两端的字段值尝试转换为数字类型,如果转换失败则认为字段值为0.

select "aa"+"12";

MySQL中concat函数

在MySQL中进行字符串的拼接要使用concat函数。concat()函数用于将多个字符串连接成一个字符串,是最重要的MySQL函数之一。

concat(str1,str2,…)

返回结果为连接参数产生的字符串。

select concat("My", "S", "QL");

如有任何一个参数为NULL ,则返回值为 NULL。或许有一个或多个参数。

select concat("My", null, "QL");

一个数字参数被转化为与之相等的二进制字符串格式;

select concat(14.3);

若要避免这种情况,可使用显式类型 cast, 例如:

select concat(CAST(14.1 AS char), 1)

注意:

如果所有参数均为非二进制字符串,则结果为非二进制字符串。

如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。

MySQL中concat_ws函数

MySQL中还提供了另外一个进行字符串拼接的函数CONCAT_WS,是concat()的特殊形式。

CONCAT_WS(separator,str1,str2,…)

第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。

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

select CONCAT_WS(",","第一","第二","第三");

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

select CONCAT_WS(null,"第一","第二","第三");

CONCAT_WS()不会忽略任何空字符串。

select CONCAT_WS(",","第一","","第二");

然而会忽略所有的 NULL。

select CONCAT_WS(",","第一",null,"第二");

•••展开全文