Как проверить NULL в инструкции CASE с помощью Scalar Function? - программирование
Подтвердить что ты не робот

Как проверить NULL в инструкции CASE с помощью Scalar Function?

Как вы проверяете NULL в инструкции CASE, когда используете Scalar Function?

Мой первоначальный запрос был... но он терпит неудачу

SELECT  CASE dbo.fnCarerResponse('')
          WHEN NULL THEN 'Pass'
          ELSE 'Fail'
        END

Я прочитал вопрос qaru.site/info/325124/... об использовании IS NULL, например...

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

но это дает ошибку incorrect syntax near the keyword is

У вас есть Scalar Function в CASE?

4b9b3361

Ответ 1

Вы используете неправильный стиль CASE - вам нужно использовать CASE WHEN <expression> THEN not CASE <expression> WHEN <expression> then:

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

Ответ 2

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

Ответ 3

SELECT  CASE 
          WHEN dbo.fnCarerResponse('') is NULL THEN 'Pass'
          ELSE 'Fail'
        END