COALESCE and REPLACE Function



我正试图用"替换查询中的所有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函数也可以以相同的方式使用。isnullcoalesce之间的唯一区别是isnull专门用于替换空值,因此它只需要两个参数。

您也可以使用case,那么它将是:

case
  when clients.client_id_2 is null then ''
  else replace(clients.CLIENT_ID_2,'-','')
end as PatientSSN,

相关内容

最新更新