MySQL字符串拼接方法全解析

目录

常用字符串处理函数

方法一:CONCAT基础拼接

方法二:CONCAT_WS带分隔符拼接

方法三:GROUP_CONCAT分组拼接

方法四:算术运算符拼接(仅限数字)


常用字符串处理函数

方法一:CONCAT基础拼接

语法格式:CONCAT(string1, string2,...) 特点:

  • 无缝拼接所有参数
  • 任意参数为NULL时返回NULL
  • 支持2个及以上参数拼接

应用示例:

-- 含NULL值返回NULL
SELECT CONCAT("name=","lich",NULL) AS test;

-- 正常拼接结果
SELECT CONCAT("name=","lich") AS test;  -- 输出:name=lich

方法二:CONCAT_WS带分隔符拼接

语法格式:CONCAT_WS(separator, string1, string2,...) 特点:

  • 首个参数为分隔符
  • 自动跳过NULL值参数
  • 分隔符为NULL时返回NULL

应用示例:

-- 使用#号连接并跳过NULL
SELECT CONCAT_WS('#','name=','lich',null) AS test;  -- 输出:name=#lich

-- 分隔符为NULL时返回NULL
SELECT CONCAT_WS(NULL,'name=','lich',null) AS test;

-- 使用字符串作为分隔符
SELECT CONCAT_WS("hello,",'name=','lich',null) AS test;  -- 输出:name=hello,lich

方法三:GROUP_CONCAT分组拼接

语法格式: GROUP_CONCAT([DISTINCT] 字段 [ORDER BY 排序] [SEPARATOR '分隔符'])

特点:

  • 配合GROUP BY使用
  • 支持去重、排序、自定义分隔符
  • 默认逗号分隔

应用示例:

-- 基础分组拼接
SELECT id,GROUP_CONCAT(type) FROM log_sys_interview GROUP BY type;

-- 自定义分隔符
SELECT id,GROUP_CONCAT(type SEPARATOR '#') FROM log_sys_interview GROUP BY type;

-- 排序后拼接
SELECT id,GROUP_CONCAT(type ORDER BY type DESC) FROM log_sys_interview GROUP BY ip;

-- 去重拼接
SELECT id,GROUP_CONCAT(DISTINCT type ORDER BY type DESC) FROM log_sys_interview GROUP BY ip;

方法四:算术运算符拼接(仅限数字)

注意事项:

  • +号运算符仅适用于数值类型
  • 字符串使用+号会尝试转换为数值
  • 非数值字符串会返回0

应用示例:

-- 原始数据查询
SELECT id,type FROM log_sys_interview;

-- 数值字段运算
SELECT id,type+99 FROM log_sys_interview;  -- type字段需为数值类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值