2012-04-14 97 views
3

如何使用orwhen部分的case聲明?是否可以在`case`語句的`when`節中使用`或`?

DECLARE @TestVal INT 
SET @TestVal = 1 
SELECT 
CASE @TestVal 
WHEN 1 THEN 'First'--- this line 
WHEN 2 THEN 'First'--- and this line 
WHEN 3 THEN 'Third' 
ELSE 'Other' 
END 

,而不是使用兩個以上的線路我想用這樣的:

when 1 or 2 then 'First' 
+0

您的病例陳述實際上沒有錯。它被稱爲_simple_ case語句。爲了做你所要求的,case語句需要重新編寫一個_searched_ case語句(就像@MostyMostacho的出色答案一樣)。 – 2012-11-14 16:05:09

回答

4

你可以這樣做:

CASE 
    WHEN @TestVal in (1, 2) THEN 'First OR Second' 
    WHEN @TestVal = 3 THEN 'Third' 
    ELSE 'Other' 
END 

Here是官方文檔。

1
SELECT 
CASE 
WHEN @TestVal = 1 or @TestVal = 2 THEN 'First' 
... 
相關問題