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

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

我的原始查询是…但它失败@H_502_3@

  1. SELECT CASE dbo.fnCarerResponse('')
  2. WHEN NULL THEN 'Pass'
  3. ELSE 'Fail'
  4. END

我读了关于使用IS NULL的SO问题,就像这样…@H_502_3@

  1. SELECT CASE dbo.fnCarerResponse('') IS NULL
  2. WHEN NULL THEN 'Pass'
  3. ELSE 'Fail'
  4. END

但是这给出了关键字附近的错误语法是错误@H_502_3@

你可以在CASE中有一个标量函数吗?@H_502_3@

解决方法

您使用错误的CASE样式 – 您需要使用CASE WHEN< expression> THEN NOT CASE< expression> WHEN< expression>然后:
  1. SELECT CASE
  2. WHEN dbo.fnCarerResponse('') IS NULL
  3. THEN 'Pass'
  4. ELSE 'Fail'
  5. END

猜你在找的MsSQL相关文章