我试图将查询的结果返回到变量,我能够在插入语句中使用它.但是我的选择仍然返回null,即使我相信我已ISNULL(NULLIF())正确设置.
declare @test varchar(10)
set @test = (select ISNULL(NULLIF(discnumber,''),'NA')
from discmaster
where meteredfilename = '3501' or nonmeteredfilename='3501')
select @test
Run Code Online (Sandbox Code Playgroud)
它似乎是正确的但仍然返回一个NULL值.你会选择Case而不是100%肯定该方法.
我会移动ISNULL子查询的外部 - 如果子查询没有返回结果怎么办?
set @test = COALESCE(
(select NULLIF(discnumber,'')
from discmaster
where meteredfilename = '3501' or nonmeteredfilename='3501')
,'NA')
Run Code Online (Sandbox Code Playgroud)
(我也一直是一个势利和更换ISNULL用COALESCE,外面的几个方案,COAELSCE是更好的功能).
| 归档时间: |
|
| 查看次数: |
4351 次 |
| 最近记录: |