我试图用 '' 替换查询中的所有空值,因为我们的接口不接受 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,
再次感谢任何帮助
您可以使用isnull
替换空值的函数:
replace(isnull(clients.CLIENT_ID_2, ''),'-','') as PatientSSN
The coalesce
函数也可以以同样的方式使用。之间唯一的区别isnull
and coalesce
就是它isnull
专门用于替换空值,因此它只需要两个参数。
您还可以使用case
,那么它将是:
case
when clients.client_id_2 is null then ''
else replace(clients.CLIENT_ID_2,'-','')
end as PatientSSN,
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)