

新闻资讯
技术学院SQL中字符串拼接最稳妥方式是CONCAT函数,它自动跳过NULL值;MySQL 8.0+还支持CONCAT_WS实现带分隔符的简洁拼接,各数据库对CONCAT兼容性良好但细节略有差异。
SQL 中字符串拼接最常用、最稳妥的方式是使用 CONCAT 函数,它能自动跳过 NULL 值,避免结果变 NULL,比用 + 或 || 更安全可靠。
CONCAT 可接受多个参数,把它们按顺序连成一个字符串。关键优势是:任意参数为 NULL 时,该 NULL 被忽略,不中断整个拼接。
例如:
SELECT CONCAT('姓名:', name, ',年龄:', age) FROM users;若某条记录的 name 是 NULL,用 +(如 SQL Server)或 ||(如 Oracle/PostgreSQL)会导致整条结果为 NULL;而 CONCAT 会返回 ',年龄:25' —— 虽然不完美,但至少保留了有效信息。
CONCAT_WS(WS = With Separator)更实用:第一个参数是分隔符,后面所有参数自动用它连接,且仍跳过 NULL。
CONCAT 在 MySQL、PostgreSQL(9.1+)、SQL Server(2012+)中都支持,但细节有别:
拼接常用于生成展示字段、导出标识、日志内容等,注意几个实用点:
(VARCHAR, age),否则某些库会报错