如何将SQL Server表中的3个字段合并为单个字段
合并SQL表中多列内容为指定格式
针对你的需求,要把@Clubs表的ClubName、ClubNumber、ClubState三列合并成「名称 - 编号 - 州」的格式,这里提供两种常用的SQL实现方法:
方法1:使用CONCAT函数(推荐)
SQL Server的CONCAT函数会自动处理不同数据类型的转换,无需手动转换数值型列,同时能兼容NULL值(若列值为NULL会自动转为空字符串):
SELECT CONCAT(ClubName, ' - ', ClubNumber, ' - ', ClubState) AS CombinedColumn FROM @Clubs;
方法2:使用+字符串拼接运算符
如果习惯用+拼接,需要先把数值类型的ClubNumber转换为字符串(用CAST或CONVERT),否则会因类型不匹配报错:
SELECT ClubName + ' - ' + CAST(ClubNumber AS NVARCHAR(10)) + ' - ' + ClubState AS CombinedColumn FROM @Clubs;
执行结果
运行任意一种方法,都会得到你期望的输出:
Bellingham - 145 - Texas Bel-Air - 123 - California
内容的提问来源于stack exchange,提问作者Ordnance1
相关产品推荐
相关产品推荐

