SQL Switch/Case 在 SQL Server 2008 R2 中
SQL Switch/Case in SQL Server 2008 R2
这是我的测试T-SQL.
DECLARE @TestVal INT
SET @TestVal = 1
SELECT
CASE @TestVal
WHEN (1 | 2 | 6) THEN 'First' // I would like to check 1 or 2 or 6.
WHEN 3 THEN 'Second'
WHEN 4 THEN 'Third'
ELSE 'Other'
END
当前结果为'Other'。
我想得到 'First' 的结果。如何在我的 T-SQL.
中使用 (OR 语句)
此致
使用case
的条件形式:
SELECT (CASE WHEN @TestVal IN (1, 2, 6) THEN 'First'
WHEN @TestVal = 3 THEN 'Second'
WHEN @TestVal = 4 THEN 'Third'
ELSE 'Other'
END)
试试这个:
SELECT
CASE WHEN @TestVal IN (1, 2, 6) THEN 'First'
WHEN @TestVal = 3 THEN 'Second'
WHEN @TestVal = 4 THEN 'Third'
ELSE 'Other'
END
以上答案是正确的,您也可以这样使用 OR:
DECLARE @TestVal INT
SET @TestVal = 2
SELECT (CASE WHEN (@TestVal = 1 OR @TestVal=2 OR @TestVal=6) THEN 'First'
WHEN @TestVal = 3 THEN 'Second'
WHEN @TestVal = 4 THEN 'Third'
ELSE 'Other'
END)
这是我的测试T-SQL.
DECLARE @TestVal INT
SET @TestVal = 1
SELECT
CASE @TestVal
WHEN (1 | 2 | 6) THEN 'First' // I would like to check 1 or 2 or 6.
WHEN 3 THEN 'Second'
WHEN 4 THEN 'Third'
ELSE 'Other'
END
当前结果为'Other'。
我想得到 'First' 的结果。如何在我的 T-SQL.
中使用 (OR 语句)此致
使用case
的条件形式:
SELECT (CASE WHEN @TestVal IN (1, 2, 6) THEN 'First'
WHEN @TestVal = 3 THEN 'Second'
WHEN @TestVal = 4 THEN 'Third'
ELSE 'Other'
END)
试试这个:
SELECT
CASE WHEN @TestVal IN (1, 2, 6) THEN 'First'
WHEN @TestVal = 3 THEN 'Second'
WHEN @TestVal = 4 THEN 'Third'
ELSE 'Other'
END
以上答案是正确的,您也可以这样使用 OR:
DECLARE @TestVal INT
SET @TestVal = 2
SELECT (CASE WHEN (@TestVal = 1 OR @TestVal=2 OR @TestVal=6) THEN 'First'
WHEN @TestVal = 3 THEN 'Second'
WHEN @TestVal = 4 THEN 'Third'
ELSE 'Other'
END)