我试图用''替换查询中的所有空值,因为我们的接口不会接受NULL作为条目。我遇到了一段我的代码,我使用REPLACE函数来取消SSN中的DASHES。如何告诉系统为SSN列中的NULL值提供'',并且仍然为非空条目SSN执行REPLACE函数。
select distinct clients.CLIENT_ID_1 as SourceMRN,
'' AS HMOMEMBER,
'' as IDXMRN,
replace(clients.CLIENT_ID_2,'-','') as PatientSSN,
我正在思考类似这样的事情,但它不起作用。
CASE IF clients.client_id_2 is null then ''
ELSE replace(clients.CLIENT_ID_2,'-','') as PatientSSN,END
我也想知道如何用''代替其他列的NULL,我看到空值会与上面的问题一样答案吗?
Select clients.last_name,
clients.first_name,
case if clients.middle_name is null then '' else clients.middle_name,
再次感谢您的帮助
答案 0 :(得分:1)
您可以使用isnull
函数替换空值:
replace(isnull(clients.CLIENT_ID_2, ''),'-','') as PatientSSN
coalesce
函数也可以以相同的方式使用。 isnull
和coalesce
之间的唯一区别是isnull
专门用于替换空值,因此它只需要两个参数。
你也可以使用case
,然后就是:
case
when clients.client_id_2 is null then ''
else replace(clients.CLIENT_ID_2,'-','')
end as PatientSSN,