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
мне нужно избавиться от этих запятых, если поле пустое или пустое. Видимо, я делаю это неправильно!
Какие СУБД вы используете? Я не думаю, что вам нужен COALESCE в вашем синтаксисе, NULLIF и добавление запятой должны позаботиться обо всем этом –
SQL Server 2005 – korrowan