基础语法:
--myColumnSpec为列名
--<A>为条件A,后边跟着的somethingA为该条件下的执行内容
--<B>同A
--somethingE为所有天剑都不满足时需要执行的内容
SELECT <myColumnSpec> =
CASE
WHEN <A> THEN <somethingA>
WHEN <B> THEN <somethingB>
...
ELSE <somethingE>
END
假设有表Table,有字段A,表结构如图
用法一:
--类似于switch case的用法
select
(case A WHEN 4 then 1--如果字段的值为4则替换为1
when 6 then 2--如果字段的值为6则替换为2
when 7 then 3 --如果字段的值为7则替换为3
else A end--其他情况则直接使用字段本身
) A from Table
查询结果为:
用法二:
--类似于switch case的用法
select
(case WHEN A = 4 then 1--如果字段的值为4则替换为1
when A = 6 then 2--如果字段的值为6则替换为2
when A = 7 then 3 --如果字段的值为7则替换为3
else A end--其他情况则直接使用字段本身
) A from Table
结果同上: