有没有办法做这样的事情? (这是伪代码)
CASE(@P1)
WHEN 'a' or 'd' or 'z' THEN 1
WHEN 'b' or 't' THEN 2
ELSE 0
我的想法是我可以检查应该返回相同值的多个值。即'a'返回1而't'返回2
答案 0 :(得分:17)
select CASE WHEN @P1 in ('a', 'd', 'z') THEN 1
WHEN @P1 in ('b', 't') THEN 2
ELSE 0
END
from your_table
或
select CASE WHEN @P1 = 'a' or @P1 = 'd' or @P1 = 'z' THEN 1
WHEN @P1 = 'b' or @P1 = 't' THEN 2
ELSE 0
END
from your_table