Ani*_*mar 0 sql t-sql sql-server sql-server-2008
我有一个SQL查询,它显示字段中的address1和address2为'address1,address2'.我的查询是
(S.Address1 + ' , ' + S.Address2)as Address1
Run Code Online (Sandbox Code Playgroud)
但是当Address2中的值为空时它显示'address1',我只需要显示address1.How我可以删除逗号
使用 COALESCE
(COALESCE(S.Address1,'') + ' , ' + COALESCE(S.Address2, '')) as Address1
Run Code Online (Sandbox Code Playgroud)
但上面的语句的问题是,,当它address2为null时,它将具有尾随,以进行修复
(COALESCE(S.Address1,'') + COALESCE(' , ' + S.Address2, '')) as Address1
Run Code Online (Sandbox Code Playgroud)
更新1
CASE WHEN S.Address2 = ''
THEN S.Address1
ELSE S.Address1 + ' , ' + S.Address2
END AS Addrss
Run Code Online (Sandbox Code Playgroud)