case when 查询用法
时间: 2023-10-20 13:35:44 浏览: 189
CASE WHEN查询用法有以下几种形式:
1. 使用简单的CASE函数:通过在CASE后面跟随列名或表达式,在WHEN子句中指定条件,并在THEN子句中指定对应的结果值。最后可以使用ELSE子句来指定默认的结果值。例如:
SELECT CASE SCORE WHEN 'A' THEN '优' WHEN 'B' THEN '良' WHEN 'C' THEN '中' ELSE '不及格' END as 结果 FROM 表名
这种形式可以用于在查询结果中转换显示的值。
2. 使用CASE WHEN语句:通过在CASE后面跟随WHEN子句和THEN子句来指定条件和对应的结果值。可以使用多个WHEN子句来满足不同的条件。最后可以使用ELSE子句来指定默认的结果值。例如:
SELECT grade, COUNT (CASE WHEN sex = 1 THEN 1 ELSE 0 END) as 男生数量 FROM 表名
这种形式可以用于在SELECT语句中根据条件计算结果。
3. 将CASE WHEN放在WHERE后面:在WHERE子句中使用CASE WHEN可以根据条件动态过滤数据。例如:
SELECT * FROM 表名 WHERE CASE WHEN t1.id = 0 THEN B.name IN ('aaa', 'bbb') WHEN t1.id = 1 THEN B.name IN ('bbb', 'ccc') WHEN t1.id = 2 THEN B.name IN ('ccc', 'ddd') END
这种形式可以用于动态的筛选数据。
总结来说,CASE WHEN查询用法可以用于转换显示结果、计算结果和动态过滤数据。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
阅读全文