详解MySQL中CONCAT()函数的用法(链接字符串)

您所在的位置:网站首页 函数month的用法 详解MySQL中CONCAT()函数的用法(链接字符串)

详解MySQL中CONCAT()函数的用法(链接字符串)

2024-06-05 08:16| 来源: 网络整理| 查看: 265

MySQL中CONCAT()、CONCAT_WS()和GROUP_CONCAT()函数的区别和使用 一、MySQL中CONCAT函数 1.功能

将多个字符串连接成一个字符串

2.语法 CONCAT(str1,str2,…) 3.使用方法

返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。

mysql> SELECT CONCAT('张三','李四','王五'); result> 张三李四王五 //—————————————————————————————————————————————— mysql> SELECT CONCAT('张三','李四',NULL); result> NUll 4.如果使用其函数进行模糊查询,其例子如下:

例如:表名(Student)

字段类型注释fidint主键name`varchar姓名sexint`性别1男2女ageint年龄c_fidint班级fid

表名(class)

字段类型注释fidint主键name`varchar班级名称 mysql> SELECT stu.* ,c.`name` cName FROM student AS stu LEFT JOIN class c ON c.fid = stu.c_fid WHERE (stu.c_fid LIKE (CONCAT( '%', 1, '%')) OR stu.c_fid LIKE (CONCAT( '%', 2, '%' )));

result>

fidnamesexagec_fidcName1张三1201一年一班4赵六2171一年一班5杨雪1171一年一班2李四2202一年二班3王五2182一年二班 二、MySQL中CONCAT_WS函数 1.功能

和concat()一样,将多个字符串连接成一个字符串,但是可以一次性指定分隔符~(concat_ws就是concat with separator)

2.语法 CONCAT_WS(separator,str1,str2,...) 3.使用方法

说明:第一个参数指定分隔符。需要注意的是分隔符不能为null,如果为null,则返回结果为null。

//默认分隔符为逗号 mysql> SELECT CONCAT_WS(',','张三','李四','王五'); result> 张三,李四,王五 //和MySQL中CONCAT函数不同的是, CONCAT_WS函数在执行的时候,不会因为NULL值而返回NULL mysql> SELECT CONCAT_WS(',','张三',NULL,'王五'); result> 张三,王五 三、MySQL中GROUP_CONCAT函数 1.功能

将group by产生的同一个分组中的值连接起来,返回一个字符串结果。

2.语法 GROUP_CONCAT( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator '分隔符'] ) 3.使用方法

通过使用distinct可以排除重复值;如果希望对结果中的值进行排序,可以使用order by子句;separator是一个字符串值,缺省为一个逗号。

(1)以c_fid分组,把name字段的值打印在一行,逗号分隔(默认) mysql> select c_fid,group_concat(name) sName from Student group by c_fid;

result>

c_fidsName1张三,赵六,杨雪2李四,王五 (2)以c_fid分组,把name字段的值打印在一行,分号分隔 mysql> select c_fid,group_concat(name separator ';') from Student group by c_fid;

result>

c_fidName1张三:赵六:杨雪2李四:王五 (3)以c_fid分组,把去冗余的age字段的值打印在一行,逗号分隔 mysql> select c_fid,group_concat(distinct age) sAge from Student group by c_fid;

result>

c_fidsAge117,20218,20 (4)以c_fid分组,把sex 字段的值打印在一行,逗号分隔,以age排倒序 mysql> select c_fid,group_concat(sex order by sex desc) from student group by age;

result>

c_fidsSex12,12222,1


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3