SQL之Case When用法详解


Case具有两种格式。简单Case函数和Case搜索函数。

第一种 格式:简单Case函数:

格式说明 

case 列名

    when   条件值1   then  选择项1
    when   条件值2   then  选项2.......
    else   默认值    end

举例:

 select 

     case   score 
    when     'A'     then    '不及格'
    when    'B'     then    '良好'
    when    'C'     then    '优秀'
    else     '未参加考试'  end
    from      TABLE

第二种  格式:Case搜索函数

格式说明

case  

    when  列名= 条件值1   then  选择项1
    when  列名=条件值2    then  选项2.......
    else    默认值 end

举例:

SELECT

    STUDENT_NAME,
    (CASE WHEN score < 60   THEN '不及格'
          WHEN score >= 60  AND score < 80 THEN '及格'
          WHEN score >= 80  THEN '优秀'
          ELSE '异常' END)  AS REMARK
FROM

    TABLE

注意:通常我们在写Case When的语句的时候,会容易忘记 end 这个结束,一定要记得哟!

提示:如果你想判断score是否null的情况,WHEN score = null THEN '缺席考试',这是一种错误的写法,正确的写法应为:

CASE WHEN score IS NULL THEN '缺席考试' ELSE '正常' END

你可能感兴趣的:(SQL,sql,java,数据库)