肥西建设局官方网站,c2c平台分类,苏州官网设计,国内品牌备案建站1. CASE WHEN 表达式有两种形式 --简单Case函数 CASE sex WHEN 1 THEN 男 WHEN 2 THEN 女 ELSE 其他 END --Case搜索函数 CASEWHEN sex 1 THEN 男 WHEN sex 2 THEN 女 ELSE 其他 END 2. CASE WHEN 在语句中不同位置的用法 2.1 SELECT CASE WHEN 用法 SELECT grad…1. CASE WHEN 表达式有两种形式 --简单Case函数 CASE sex WHEN 1 THEN 男 WHEN 2 THEN 女 ELSE 其他 END --Case搜索函数 CASEWHEN sex 1 THEN 男 WHEN sex 2 THEN 女 ELSE 其他 END 2. CASE WHEN 在语句中不同位置的用法 2.1 SELECT CASE WHEN 用法 SELECT grade, COUNT (CASE WHEN sex 1 THEN 1 /*sex 1为男生2位女生*/ ELSE NULL END) 男生数, COUNT (CASE WHEN sex 2 THEN 1 ELSE NULL END) 女生数 FROM students GROUP BY grade; 2.3 WHERE CASE WHEN 用法 SELECT T2.*, T1.* FROM T1, T2 WHERE (CASE WHEN T2.COMPARE_TYPE A AND T1.SOME_TYPE LIKE NOTHING% THEN 1 WHEN T2.COMPARE_TYPE ! A AND T1.SOME_TYPE NOT LIKE NOTHING% THEN 1 ELSE 0 END) 1 2.4 GROUP BY CASE WHEN 用法 SELECT CASE WHEN salary 500 THEN 1 WHEN salary 500 AND salary 600 THEN 2 WHEN salary 600 AND salary 800 THEN 3 WHEN salary 800 AND salary 1000 THEN 4 ELSE NULL END salary_class, -- 别名命名COUNT(*) FROM Table_A GROUP BY CASE WHEN salary 500 THEN 1 WHEN salary 500 AND salary 600 THEN 2 WHEN salary 600 AND salary 800 THEN 3 WHEN salary 800 AND salary 1000 THEN 4 ELSE NULL END; 3.关于IF-THEN-ELSE的其他实现 3.1 DECODE() 函数 select decode(sex, M, Male, F, Female, Unknown)from employees; 貌似只有Oracle提供该函数而且不支持ANSI SQL语法上也没CASE WHEN清晰个人不推荐使用。 3.2 在WHERE中特殊实现 SELECT T2.*, T1.* FROM T1, T2 WHERE (T2.COMPARE_TYPE A AND T1.SOME_TYPE LIKE NOTHING%) OR (T2.COMPARE_TYPE ! A AND T1.SOME_TYPE NOT LIKE NOTHING%) 这种方法也是在特殊情况下使用要多注意逻辑不要弄错。 如果您觉得文章有用也可以给水发个微信小额红包鼓励鼓励 转载于:https://www.cnblogs.com/soundcode/p/5549901.html