我试图将姓氏,名字和中间名称组合到SQL语句中的单个排序名称列中.有时会出现中间名NULL,如果是这种情况,则会显示排序名称NULL.
怎么办呢?
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
Run Code Online (Sandbox Code Playgroud)
结果:
Last_Name First_Name MiddleName Sort_Name
Aa Robert NULL NULL
Run Code Online (Sandbox Code Playgroud)
但我希望看到sort_name 'Aa,Robert'.
COALESCE([Last_Name], '') + ',' + COALESCE([First_Name], '') + ' ' +
COALESCE(
[Middle_Name], '') AS SORT_NAME
Run Code Online (Sandbox Code Playgroud)
当然,当姓氏或者第一个和中间都是空的时候,这会留下丑陋的逗号,所以你的实际代码需要更聪明一些.