2012-05-23 25 views
17

Làm cách nào để kiểm tra NULL trong câu hỏi CASE khi bạn đang sử dụng một số Scalar Function?Làm thế nào để kiểm tra NULL trong một câu lệnh CASE với một hàm vô hướng?

truy vấn ban đầu của tôi là ... nhưng nó không

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

Tôi đọc những câu hỏi về việc sử dụng SOIS NULL, như vậy ...

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

nhưng điều này mang đến cho các lỗi incorrect syntax near the keyword is

Bạn có thể có số Scalar Function trong số CASE không?

Trả lời

24

Bạn đang sử dụng phong cách sai CASE - bạn cần phải sử dụng CASE WHEN <expression> THEN không CASE <expression> WHEN <expression> then:

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

DOH ... thanks for the con trỏ – SteveC

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

DOH ... thanks for the con trỏ – SteveC

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

DOH ... cảm ơn con trỏ – SteveC

Các vấn đề liên quan