打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
case when then else end 用法--很好

case when then  else end 用法

(2009-02-11 16:56:00)
标签:

it

分类: 计算机技术
CASE命令有两种语句格式。
语法形式1:CASE expression
            WHEN expression_11 THEN expression_12
            
            WHEN expression_n1 THEN expression_n2
            [ELSE expression_m]
            END
该语句的执行过程是:将CASE后面表达式的值与各WHEN子句中的表达式的值进行比较,如果两者相等,则返回THEN后的表达式的值,然后跳出CASE语句,否则返回ELSE子句中的表达式的值。ELSE子句是可选项。当CASE语句中不包含ELSE子句时,如果所有比较失败时,CASE语句将返回NULL。
【例】从数据表stud_info中,选取stud_id、grade,如果grade为“男”则输出“M”,如果为“女”输出“F”。
SELECT stud_id, sex=CASE gender
                      WHEN ’男’ THEN ’M’
                      WHEN ’女’ THEN ’F’
                    END
FROM stud_info
语法形式2:CASE WHEN condition_expression_1 THEN expression_1
             
             WHEN condition_expression_n THEN expression_n
             [ELSE expression_m]
           END
该语句的执行过程是:首先测试WHEN后的条件表达式的值,如果其值为真,则返回THEN后面的表达式的值,否则测试下一个WHEN子句中的表达式的值,如果所有WHEN子句后的表达式的值都为假,则返回ELSE后的表达式的值,如果在CASE语句中没有ELSE子句,则CASE表达式返回NULL。
注意:CASE命令可以嵌套到SQL语句中。

【例】从stud_grade表中查询所有同学考试成绩情况,凡成绩为空者输出“未考”、小于60分输出“不及格”、60分至70分输出“及格”、70分至90分输出“良好”、大于或等于90分时输出“优秀”。
SELECT stud_id,name,score=CASE WHEN grade IS NULL THEN ’未考’
                              WHEN grade<60 THEN ’不及格’
                              WHEN grade>=60 AND grade<70 THEN ’及格’
                              WHEN grade>=70 AND grade<90 THEN ’良好’
                              WHEN grade>=90 THEN ’优秀’
                         END
FROM stud_grade
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
T-SQL查询进阶--基于列的逻辑表达式
云计算学习路线图素材、课件,msyql中CASE WHEN语法
SQL中的case when then else end用法
sql中CASE的用法
sql server 2005 T-SQL CASE (Transact-SQL) - 曹...
VB程序设计程序控制结构(一)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服