字符拼接函数mysql:Mysql数据查询之字符串拼接函数详解
字符拼接函数mysql:Mysql数据查询之字符串拼接函数详解不会过滤空字符串,会将空字符串一起拼接到最终结果;除分隔符外,其他参数如果为NULL则会过滤掉此值,此点和CONCAT有所不同;如果参数中有一个为二进制字符串(BLOB),则返回结果为二进制字符串。CONCAT_WS即CONCAT With Separator,它是CONCAT函数的一种特殊形式,其参数也是不定长度的参数,第一个参数为分隔符,用来连接后面参数。分隔符可以是一个字符串,也可以是其它参数。其参数也是不定长度的参数,第一个参数为分隔符,用来连接后面参数。分隔符可以是一个字符串,也可以是其它参数。在使用时也需要注意一下几点:如果分隔符为NULL,则拼接后的结果也为NULL;
Mysql字符拼接
在项目中使用(My)Sql进行数据查询时,经常会用到字符串数据的拼接处理,下面就对几个常用的有关字符串拼接的函数在此进行记录说明。
1. 使用CONCAT函数连接字符串CONCAT函数是用来连接两个字符串形成一个字符串,是最常用的一种形式,参数为不定参数,可以传入多个(不定长度)的参数,但在使用时需要注意一下几点:
-
如果参数中有一个为NULL ,则返回结果为 NULL,不会过滤NULL值;
-
如果参数中有一个为二进制字符串(BLOB),则返回结果为二进制字符串。
CONCAT_WS即CONCAT With Separator,它是CONCAT函数的一种特殊形式,其参数也是不定长度的参数,第一个参数为分隔符,用来连接后面参数。分隔符可以是一个字符串,也可以是其它参数。其参数也是不定长度的参数,第一个参数为分隔符,用来连接后面参数。分隔符可以是一个字符串,也可以是其它参数。在使用时也需要注意一下几点:
-
如果分隔符为NULL,则拼接后的结果也为NULL;
-
除分隔符外,其他参数如果为NULL则会过滤掉此值,此点和CONCAT有所不同;
-
不会过滤空字符串,会将空字符串一起拼接到最终结果;
-
如果参数中有一个为二进制字符串(BLOB),则返回结果为二进制字符串。
通过名称即可看出该函数是通过分组拼接字符串,最终结果由分组中的值连接组合而成,其语法结果如下所示:
GROUP_CONCAT(
SEPARATOR分隔符不可为NULL;
除分隔符外,如果字段结果为NULL则会过滤掉此值;
除分隔符外,如果字段结果为空字符串,则也会过滤掉此值;
结果长度默认为1024,可通过“SHOW VARIABLES LIKE "%group_concat_max_len%"”来查看,不建议使用该函数查询过多的值,当然你也可以修改该长度的大小。
使用示例:
SELECT GROUP_CONCAT(DISTINCT code ORDER BY code ASC SEPARATOR '-')
FROM tb_disc WHERE id in (1 2 3)
END关于Mysql中字符串拼接的相关函数接介绍到这,如果不足之处欢迎指正交流,对你有帮助的话记得关注支持~