sql-server – 如何使用Scalar函数检查CASE语句中的NULL?

前端之家收集整理的这篇文章主要介绍了sql-server – 如何使用Scalar函数检查CASE语句中的NULL?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当您使用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

猜你在找的MsSQL相关文章