zoukankan      html  css  js  c++  java
  • Case when then esle end

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

    CASE sex
    WHEN '1' THEN ''
    WHEN '2' THEN ''
    ELSE '其他' END

    --Case搜索函数

    CASE WHEN sex = '1' THEN ''
    WHEN sex = '2' THEN ''
    ELSE '其他' END

    这两种方式,可以实现相同的功能。

    简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式。
    还有一个需要注意的问题,Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略。
    两者中可以根据不同的需求来选择。

    CASE WHEN LEN(OHA.Code) > 0 THEN OHA.Code + '-' ELSE '' END + OHA.Name AS [Text]
    • OHA.Code的长度大于0时,Text字段的值为OHA.Code + '-' + OHA.Name
    • OHA.Code的长度=0时,Text字段的值为OHA.Name

    col1  col2

    1       aaa

    2       bbb

    3       ccc

    select case when col1 = 1 then '北京' when col1 = 2 then '上海' else '广州' end col1, col2 from tabA

    如果col1为1,则显示为北京,col1为2,则显示为上海

    从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

    总结:相对于对表中的值进行字典翻译功能

  • 相关阅读:
    IOS回调机制总结
    2.25~当svn服务器ip地址变了怎么办?
    ubuntu硬件信息,内存DDR详细信息
    关于JS相等比较算法(==)的原理
    ubuntu更改鼠标滚轮方向为自然方向(运动方向和滚轮滚动方向一致)
    C#模拟js的Json对象创建,操作
    关于json返回日期格式化的解决方案
    js定时器 timer
    ubuntu GUI界面复制文件没权限的解决方案
    CodeSmith 模板
  • 原文地址:https://www.cnblogs.com/chrisghb8812/p/5997991.html
Copyright © 2011-2022 走看看