SQL中CASE WHEN用法详解
|
CASE WHEN语句是SQL中的条件表达式,它提供了一种简单的方式来根据不同的条件执行不同的操作。在实际情境中,我们可能需要在数据查询中进行一些简单的转换或计算。CASE WHEN就可以方便地帮助我们完成这些工作。接下来,本文将详细解释CASE WHEN语句的用法及其在SQL查询中的应用。
一、CASE WHEN语句的基本结构 CASE WHEN语句的基本结构如下所示: CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 … ELSE resultn END 这个语法中,我们首先使用CASE关键字开头,然后根据不同的条件使用WHEN关键字,并在每个条件后面指定结果。如果所有条件都不满足,就返回ELSE子句中指定的结果。最后使用END关键字闭合该CASE语句。需要注意的是,条件和结果都可以是任何SQL表达式。 下面是一个简单的例子,它使用CASE WHEN来计算一个学生的成绩: SELECT name, CASE WHEN score >= 90 THEN 'A' WHEN score >= 80 THEN 'B' ELSE 'C' END AS grade FROM students; 这个查询语句可以将学生的成绩分为A、B和C三个等级。当分数大于等于90时,等级为A;当分数在80到90之间时,等级为B;否则等级为C。
二、在查询中使用CASE WHEN CASE WHEN语句的主要用途是在查询结果中执行计算或条件转换。下面是一些具体的例子。 1.使用CASE WHEN语句进行数据分组 有时候,我们需要将数据按照某种规则进行分类并分组。在这种情况下,CASE WHEN语句可以派上用场。例如,我们想要基于年龄分组,分成18到25岁、26到35岁、36到45岁和45岁以上等四组。可以使用以下语句: SELECT COUNT(*) AS people_count, CASE WHEN age >= 18 AND age <= 25 THEN '18-25' WHEN age > 25 AND age <= 35 THEN '25-35' WHEN age > 35 AND age <= 45 THEN '36-45' ELSE '45 ' END AS age_group FROM people GROUP BY age_group; 这个查询可以对people表中的人员按照不同的年龄段进行分组,并计算在每个组中人数的总和。 2.使用CASE WHEN语句进行字符转换 在SQL中,有时我们需要将一个字符类型的字段转换为另一种字符类型。例如,我们可能需要替换一些字符或将其转换为大写或小写形式。在这种情况下,可以使用CASE WHEN语句来进行转换。例如,以下语句将people表中的名字转换为大写形式: SELECT CASE WHEN name IS NULL THEN NULL ELSE UPPER(name) |
相关文章
热销商品
天胖大海罗汉果枇杷叶雪梨茶止清润喉养肺痰咽官方正品旗舰店化炎咳
胖大海罗汉果枇杷叶雪梨茶止清润喉养肺痰咽官方正品旗舰店化炎咳
¥32.21 领券购买
天玫台胖大海罗汉果雪梨茶官方旗舰店正品臻选优质原料泡水茶3bc
玫台胖大海罗汉果雪梨茶官方旗舰店正品臻选优质原料泡水茶3bc
¥13.5 领券购买
天沁漓罗汉果桂花茶60g礼盒广西桂林特产干果仁罗汉果茶果芯小包装
沁漓罗汉果桂花茶60g礼盒广西桂林特产干果仁罗汉果茶果芯小包装
¥37.05 领券购买
天老北京布鞋女单鞋软底透气套脚工作鞋女黑色职业舒适上班鞋不累脚
老北京布鞋女单鞋软底透气套脚工作鞋女黑色职业舒适上班鞋不累脚
¥25 领券购买
淘3CE好气色润唇膏腮红口红礼盒彩妆套装化妆品生日礼物送女友正品
3CE好气色润唇膏腮红口红礼盒彩妆套装化妆品生日礼物送女友正品
¥123.9 领券购买
天秋季新款大码肌理感绗缝阔腿裤胖mm松紧腰遮肉显瘦工装女拖地长裤
秋季新款大码肌理感绗缝阔腿裤胖mm松紧腰遮肉显瘦工装女拖地长裤
¥118 领券购买
天抱枕被子两用毯子二合一加厚办公室折叠午睡枕头沙发汽车靠枕车载
抱枕被子两用毯子二合一加厚办公室折叠午睡枕头沙发汽车靠枕车载
¥39 领券购买
天梦特娇中老年男士加厚防寒马甲外套爸爸装秋冬季宽松坎肩马夹背心
梦特娇中老年男士加厚防寒马甲外套爸爸装秋冬季宽松坎肩马夹背心
¥129 领券购买
天【100%棉】Desigual26秋冬新品复古灰色口袋印花直筒女式牛仔裤
【100%棉】Desigual26秋冬新品复古灰色口袋印花直筒女式牛仔裤
¥360.87 领券购买
天韩派鸳鸯三格电压力锅家用小型多功能智能双胆一锅三用高压锅饭煲
韩派鸳鸯三格电压力锅家用小型多功能智能双胆一锅三用高压锅饭煲
¥399 领券购买
淘不锈钢厨房浴室置物架免打孔吸盘壁挂双层收纳架卫生间整理架亮面
不锈钢厨房浴室置物架免打孔吸盘壁挂双层收纳架卫生间整理架亮面
¥19.36 领券购买
淘大容量刺绣腊肠狗帆布包女2026新款休闲托特包学生上课通勤单肩包
大容量刺绣腊肠狗帆布包女2026新款休闲托特包学生上课通勤单肩包
¥31.3 领券购买
天日常通勤实用多口袋托特包休闲斜挎单肩手提包男女adidas阿迪达斯
日常通勤实用多口袋托特包休闲斜挎单肩手提包男女adidas阿迪达斯
¥294 领券购买
淘阿馨yolo 牛皮高品质”白色双肩包高级感出游书包手提白色单肩包
阿馨yolo 牛皮高品质”白色双肩包高级感出游书包手提白色单肩包
¥67.21 领券购买
淘休闲大容量托特包女2026新款时尚小熊帆布包通勤单肩手提袋旅行包
休闲大容量托特包女2026新款时尚小熊帆布包通勤单肩手提袋旅行包
¥36.4 领券购买
淘条纹编织包女夏2026新款休闲大容量通勤单肩托特包海边度假沙滩包
条纹编织包女夏2026新款休闲大容量通勤单肩托特包海边度假沙滩包
¥54.4 领券购买

