2012-05-23 14 views
17

Jak sprawdzić NULL w oświadczeniu CASE, jeśli używasz Scalar Function?Jak sprawdzić NULL w instrukcji CASE z funkcją Scalar?

Moje pierwotne zapytanie było ... ale to nie

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

czytam pytanie SO temat korzystania IS NULL, tak jak ...

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

ale daje to błąd incorrect syntax near the keyword is

Czy możesz Scalar Function w CASE?

Odpowiedz

24

Używasz niewłaściwy styl CASE - trzeba użyć CASE WHEN <expression> THEN nie CASE <expression> WHEN <expression> then:

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

DOH ... dzięki za wskaźnik – SteveC

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

DOH ... dzięki za wskazówki – SteveC

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

DOH ... dzięki za wskaźnik – SteveC

Powiązane problemy