Ist*_*ley -1 sql sql-server reporting-services ssrs-2012
我目前正在制作SSRS报告,该报告需要根据其DEA编号或NPI编号显示Dr的ID.我需要能够在DEA和NPI上进行合并以找到非未知的,然后我将向SSRS报告添加代码,该代码将显示悬停以指示"DEA编号"或"NPI编号"是否为被显示.
下面的SQL会在后端完成吗?从我在网上看到的,似乎nullif和coalesce是非常相似的,并且想知道什么是强调差异,以及它们是否可以一起用来完成这个要求.
coalesce(nullif(convert(varchar,NationalProviderIdentifier),'0'), DEANumber) as 'Dr Id'
Run Code Online (Sandbox Code Playgroud)
它们或多或少是无关的.
coalesce()获取值列表返回第一个非空值(或者null如果所有值都是null).
nullif()取两个值并返回第一个值,但null如果两个值相等则返回.
如果将两者转换为case陈述,它们将是:
coalesce:
case
when value1 is not null then value1
when value2 is not null then value2
... etc
else null
end
Run Code Online (Sandbox Code Playgroud)
nullif:
case when value1 = value2 then null else value1 end
Run Code Online (Sandbox Code Playgroud)