基本上我有三个领域,我正在创建一个新的,三个组合制作一个可邮寄的地址; 问题是某些字段包含空值并将myString添加到null只会在sql中生成null.
所以这是我的代码,任何人都可以使它更干净吗?它仍然看起来很漂亮!
UPDATE [mydb].[dbo].[Account]
SET [Billing Street] = CASE
WHEN [(Billing Address 1)] is null and [(Billing Address 2)] is null THEN [(Billing Address 3)]
WHEN [(Billing Address 1)] is null and [(Billing Address 3)] is null THEN [(Billing Address 2)]
WHEN [(Billing Address 2)] is null and [(Billing Address 3)] is null THEN [(Billing Address 1)]
WHEN [(Billing Address 1)] is null THEN [(Billing Address 2)] + ' ' + [(Billing Address 3)]
WHEN [(Billing Address 2)] is null THEN [(Billing Address 1)] + ' ' + [(Billing Address 3)]
WHEN [(Billing Address 3)] is null THEN [(Billing Address 1)] + ' ' + [(Billing Address 2)]
ELSE [(Billing Address 1)] + ' ' + [(Billing Address 2)] + ' ' + [(Billing Address 3)]
END
Run Code Online (Sandbox Code Playgroud)
您可以使用isnull和ltrim删除任何前导空格:
update [mydb].[dbo].[Account]
set [Billing Street] = ltrim(isnull([(Billing Address 1)], '') +
isnull(' ' + [(Billing Address 2)], '') +
isnull(' ' + [(Billing Address 3)], ''))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
99 次 |
| 最近记录: |