基础语法:
--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
结果同上:

本文介绍了如何在SQL查询中使用CASE语句,通过示例展示了如何根据字段值进行条件判断并替换结果,适用于数据清洗和转换场景。

被折叠的 条评论
为什么被折叠?



