mysql字符串拼接

博客介绍了MySQL中三种字符串拼接函数。CONCAT()是常用方法,但拼接中有null会返回null;CONCAT_WS()有分隔符功能,会忽略null;GROUP_CONCAT()可将多个值显示为一行,还能对连接字段排序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. CONCAT()
  2. CONCAT_WS()
  3. GROUP_CONCAT()

为了方便下面举例,这里放个student表供下面使用

s_ids_names_sex
01张三
02李四
03王五
04赵六null

一、CONCAT() :


最常用的字符串拼接方法,但遇到拼接中的字符串出现null的情况会返回null
  • 语法:CONCAT(string1,string2)
DEMO1
mysql > SELECT CONCAT(s_name,s_sex)  FROM student
+----------------------+
  CONCAT(s_name,s_sex)
+----------------------+
    张三男
    赵四男
    王五男
     null

二、CONCAT_WS():concat with separator


比CONCAT的优点
  1. 多了个分隔符功能
  2. 如果某个字符串为null,会忽略null,并返回其他字符串的值
  • 语法:CONCAT_WS(separator,str1,str2,…)
    代表 concat with separator ,是concat()的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数
DEMO2
mysql > SELECT CONCAT_WS('--',s_name,s_sex)  FROM student
+-------------------------------+
   CONCAT_WS('--',s_name,s_sex) 
+-------------------------------+
      张三--男
      赵四--男
      王五--男
      赵六

三、GROUP_CONCAT()


连接字段,多个值显示为一行
  • 语法 :group_concat( [DISTINCT] 连接的字段 [Order BY 排序字段 ASC/DESC] [Separator ‘分隔符’] )
    连接的可以是多个字段,也可以对连接字段进行排序
DEMO3:
mysql >  SELECT GROUP_CONCAT(s_id)  FROM student
+--------------------------------------------+
 GROUP_CONCAT(s_id)
+--------------------------------------------+
  01,02,03
DEMO4:连接多个字段,并以其中一个字段排序
mysql >  SELECT GROUP_CONCAT(s_id,s_name order by s_id desc)  FROM student
+--------------------------------------------+
 GROUP_CONCAT(s_id,s_name order by s_id desc)
+--------------------------------------------+
 03王五,02赵四,01张三 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值