我试图在SQL语句中将姓,名和中间名合并为单个排序名称列。有时中间名将是NULL
,如果是这种情况,排序名称将显示NULL
。在SQL中将两列的数据组合成一列?
如何处理?
SELECT TOP 500
Last_Name, First_Name, Middle_Name,
[Last_Name] + ',' + [First_Name] + ' ' + [Middle_Name] AS SORT_NAME
FROM [dbo].[usr_CUSTOMER]
ORDER BY SORT_NAME
结果:
Last_Name First_Name MiddleName Sort_Name
Aa Robert NULL NULL
但我希望看到sort_name是'Aa,Robert'
。
糟糕,我完全剥落了。感谢编辑。 – drdwilcox
当然,如果你只是将逗号作为'coalesce'的一部分,你就不会有这个问题。例如'COALESCE([Last_Name] +',','')' – vol7ron
是真实的,但只有当您假定中间名是唯一的_optional_字段。如果你可以有第一,但没有中间或中间,但没有第一,它会变得更加困难。 OP知道他的数据规则,这就是为什么我把它留给他。但是你的观点很有帮助,我应该包括它。谢谢。 – drdwilcox