UPDATE PropertyInformationDump
SET RegistryAdd = COALESCE(NULLIF(b.OCAREOF, ''), b.OCAREOF + ', ','') +
COALESCE(NULLIF(b.O1STADD, ''), b.O1STADD + ', ','') +
COALESCE(NULLIF(b.O2NDADD, '') + b.O2NDADD + ', ','') +
COALESCE(b.OSTNAME + ', ','') + COALESCE(b.OCITYST + ' ','') +
COALESCE(NULLIF(b.OZIP, ''), b.OZIP,'')
FROM dbo.vw_BRT b
WHERE BRTNumber = b.PARCEL
GO
想要除去这些组合字符串前面的逗号。这里是正在发生的事情的一个例子:通过Coalasce和NULLIF删除引号括号?
, , 1350 SUSQUEHANNA AVE, PHILADELPHIA PA 19125
MICHAEL J CARLONE, 10050 ROOSEVELT BLVD, PHILADELPHIA PA 191163924
需要它总是看起来像:
1350 SUSQUEHANNA AVE, PHILADELPHIA PA 19125
或只是如何一个与OCAREOF填充:
MICHAEL J CARLONE, 10050 ROOSEVELT BLVD, PHILADELPHIA PA 191163924
我需要如果该字段为空或为空,请删除这些逗号。显然我做错了!
你在什么DBMS上?我不认为在你的语法中你需要COALESCE,NULLIF和添加一个逗号应该全部处理它 – 2013-03-11 15:15:39
SQL Server 2005 – korrowan 2013-03-11 15:16:56