zoukankan      html  css  js  c++  java
  • case when then的用法

    用法一:等值判断,相当于switch

    CASE expression
      WHEN value1 THEN returnValue1
      WHEN value2 THEN returnValue2
      WHEN value3 THEN returnValue3
      ELSE defaultValue
    END

     例子:论坛中用户的等级

    create table [user]
    (
     uId int identity(1,1) primary key,
     name varchar(50),
     level int  --1骨灰 2大虾 3菜鸟
    )
    insert into [user] (name,level) values('犀利哥',1)
    insert into [user] (name,level) values('小月月',2)
    insert into [user] (name,level) values('芙蓉姐姐',3)
    
    select name,等级=(
     case level
      when 1 then '骨灰'
      when 2 then '大虾'
      when 3 then '菜鸟'
     end
    ) 
    from [user]

    用法二:区间判断,相当于if…else if…else…

    CASE
      WHEN condition1 THEN returnValue1
      WHEN condition 2 THEN returnValue2
      WHEN condition 3 THEN returnValue3
      ELSE defaultValue
    END

    例子:

    select studentId,成绩=( 
     case
      when english between 90 and 100 then 'A'
      when english between 80 and 89 then 'B'
      when english between 70 and 79 then 'C'
      when english between 60 and 69 then 'D'
      when english < 60 then 'E'
      else '缺考'
     end
    )
    from score

    注意:then后面返回的数据类型要一致, returnValue1、 returnValue2、 returnValue3的数据类型必须一致。

  • 相关阅读:
    Hdu 1429 胜利大逃亡(续) (bfs+状态压缩)
    Vijos 1456 最小总代价 (状压dp)
    洛谷 P1313 计算系数 (二项式定理)
    洛谷 P1134 阶乘问题
    EINTR错误
    TCP和UDP协议的应用/参数查看
    BAT面经
    高级环境编程要看的
    UDP丢包和无序 问题的解决方法
    tcp/ip
  • 原文地址:https://www.cnblogs.com/lusunqing/p/3405894.html
Copyright © 2011-2022 走看看