字符串处理函数要点
- CONCAT(s1,s2) 把多个字符串拼到一起,任一为 NULL 结果即 NULL
- CONCAT_WS(分隔符, s1, s2) 拼接并自动加分隔符,会跳过 NULL
- CHAR_LENGTH(s) 返字符数,LENGTH(s) 返字节数,中文两者不同
- SUBSTRING(s, 起始, 长度) 截取子串,起始从 1 开始数
- TRIM / LTRIM / RTRIM 去掉首尾或单侧空格
- REPLACE(s, 旧, 新) 替换、UPPER / LOWER 转换大小写
字符串处理函数示例
-- 拼接姓名与邮箱并统一小写
SELECT CONCAT_WS(' | ', username, LOWER(email)) AS info
FROM user;
-- 取手机号后四位并脱敏
SELECT CONCAT('****', SUBSTRING(phone, CHAR_LENGTH(phone) - 3)) AS mask
FROM user;
-- 去掉首尾空格并替换敏感词
SELECT TRIM(REPLACE(nickname, '广告', '**')) AS clean
FROM user;
避坑提醒:CONCAT 里只要有一个参数是 NULL,整段就返回 NULL。需要『忽略空值继续拼』时用 CONCAT_WS,它天生把 NULL 当不存在。