是否可以在`case`语句的`when`部分使用`或`?

时间:2012-04-14 10:30:51

标签: sql-server sql-server-2008-r2

如何在or声明的when部分中使用case

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'

2 个答案:

答案 0 :(得分:4)

你可以这样做:

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

Here是官方文档。

答案 1 :(得分:1)

SELECT
CASE 
WHEN @TestVal = 1 or @TestVal = 2 THEN 'First'
...