我正试图用"替换查询中的所有null值,因为我们的接口不接受null作为条目。我遇到了一段代码,我使用REPLACE函数删除SSN中的DASHES。我如何告诉系统为SSN列中的NULL值提供",并且仍然为非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替换为",用于其他我看到NULL值的列,这是否与上面的问题相同?
Select clients.last_name,
clients.first_name,
case if clients.middle_name is null then '' else clients.middle_name,
再次感谢您的帮助
您可以使用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,