2012-05-23 7 views
17

Wie überprüfen Sie für NULL in einer CASE Aussage, wenn Sie eine Scalar Function verwenden?Wie nach NULL in einer CASE-Anweisung mit einer Skalarfunktion zu überprüfen?

Meine ursprüngliche Abfrage war ... aber es funktioniert nicht

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

ich die SO Frage über die Verwendung von IS NULL lesen, wie so ...

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

aber dies gibt den incorrect syntax near the keyword is Fehler

Können Sie eine Scalar Function in der CASE haben?

Antwort

24

Sie haben die falsche Art von CASE mit - Sie brauchen CASE WHEN <expression> THEN verwenden nicht CASE <expression> WHEN <expression> then:

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

DOH ... Dank für den Zeiger – SteveC

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

DOH ... Dank für den Zeiger – SteveC

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

DOH ... danke für den Zeiger – SteveC

Verwandte Themen