我试图用’‘替换查询中的所有空值,因为我们的界面不会接受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函数替换空值:
isnull
replace(isnull(clients.CLIENT_ID_2, ''),'-','') as PatientSSN
该coalesce功能也可以以相同的方式使用。唯一的区别isnull,并coalesce是,isnull是专门用来替换空值,因此只需要两个参数。
coalesce
您还可以使用case,那么它将是:
case
case when clients.client_id_2 is null then '' else replace(clients.CLIENT_ID_2,'-','') end as PatientSSN,