在SQL中不包含表达式的情况下为多个? DECLARE@TestVal int 设置为@TestVal=5 挑选 案例 当@TestVal
采用以下形式时在SQL中不包含表达式的情况下为多个? DECLARE@TestVal int 设置为@TestVal=5 挑选 案例 当@TestVal,sql,case,Sql,Case,采用以下形式时 DECLARE @TestVal int SET @TestVal = 5 SELECT CASE WHEN @TestVal <=3 THEN 'Top 3' WHEN (select ...) = 1 THEN 'Other Value' WHEN (select ...) = 2 THEN 'Other Value 2' ELSE 'Other'
DECLARE @TestVal int
SET @TestVal = 5
SELECT
CASE
WHEN @TestVal <=3 THEN 'Top 3'
WHEN (select ...) = 1 THEN 'Other Value'
WHEN (select ...) = 2 THEN 'Other Value 2'
ELSE 'Other'
END
编辑
这假设您使用的Microsoft SQL Server其他DBMS可能不同是的,这很好,但我会垂直排列“WHEN”并解释如下:
CASE WHEN Condition THEN Result
WHEN Condition2 THEN Result2
ELSE Default
END
选择
案例
当@TestVal选择
案例
当@TestVal
CASE WHEN Condition THEN Result
WHEN Condition2 THEN Result2
ELSE Default
END
SELECT
CASE
WHEN @TestVal <=3 THEN 'Top 3'
WHEN @TestVal <=10 THEN 'Top 10'
WHEN @TestVAl <=25 THEN 'Top 25'
ELSE 'Other'
END
SELECT
CASE
WHEN @TestVal <=3 THEN 'Top 3'
WHEN @TestVal <=10 THEN 'Top 10'
WHEN @TestVAl <=25 THEN 'Top 25'
ELSE 'Other'
END