小编典典

COALESCE和REPLACE功能

sql

我试图用’‘替换查询中的所有空值,因为我们的界面不会接受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,

再次感谢任何帮助


阅读 268

收藏
2021-04-15

共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,
2021-04-15