在MySQL中,CONCAT函数用于将两个或多个字符串连接成一个字符串。它非常实用,尤其是在需要将多个字段或文本组合输出时。
基本语法
CONCAT(str1, str2, ...)
该函数接受两个或更多的参数,返回将这些参数按顺序拼接后的结果。如果任意一个参数为NULL,整个结果将返回NULL。
常见使用场景
1. 连接姓名字段
例如,用户表中姓名分为“姓”和“名”两个字段:
这样会把 first_name 和 last_name 用空格连接起来,形成完整姓名。
2. 添加固定文本说明
比如想在价格前加上“¥”符号:
3. 处理可能为NULL的字段
由于CONCAT遇到NULL会返回NULL,可以结合CONCAT_WS或IFNULL使用:
这样即使某个字段为空,也不会导致整个结果为NULL。
CONCAT与CONCAT_WS的区别
CONCAT_WS 表示“带分隔符的连接”,第一个参数是分隔符:
SELECT CONCAT_WS('-', '2025', '04', '05') AS date_str;结果为:2025-04-05。且它会自动跳过NULL值(不会中断连接)。
基本上就这些。根据实际需求选择合适的方式,能更高效地处理字符串拼接问题。
