当您使用Scalar函数时,如何检查CASE语句中的NULL?
我的原始查询是…但它失败
SELECT CASE dbo.fnCarerResponse('') WHEN NULL THEN 'Pass' ELSE 'Fail' END
我读了关于使用IS NULL的SO问题,就像这样…
SELECT CASE dbo.fnCarerResponse('') IS NULL WHEN NULL THEN 'Pass' ELSE 'Fail' END
你可以在CASE中有一个标量函数吗?
解决方法
您使用错误的CASE样式 – 您需要使用CASE WHEN< expression> THEN NOT CASE< expression> WHEN< expression>然后:
SELECT CASE WHEN dbo.fnCarerResponse('') IS NULL THEN 'Pass' ELSE 'Fail' END