zoukankan      html  css  js  c++  java
  • 使用SQL语句如何实现条件判断

    客户需求是咨询如何用SQL结合decode函数实现条件判断,比如当某一列数值大于500,对应类型“大于500”;当某一列数值小于500,对应类型“小于500”。
    实际decode函数无法实现这个功能,实现要用到case when,为此我构造一个简单的示例来直观演示:

    create table test302(id number, name varchar2(20));
    
    insert into test302 values (499, 'aaa');
    insert into test302 values (500, 'bbb');
    insert into test302 values (501, 'ccc');
    commit;
    

    测试包含case when的SQL:

    select u.id,u.name,
       (case 
        when u.id>500 then '大于500'
        when u.id<500 then '小于500'
        else '等于500'
        end
       )type
    from test302 u;
    

    得到结果如下:

    SQL> select u.id,u.name,
      2     (case 
      3      when u.id>500 then '大于500'
      4      when u.id<500 then '小于500'
      5      else '等于500'
      6      end
      7     )type
      8  from test302 u;
    
            ID NAME                 TYPE
    ---------- -------------------- ---------
           499 aaa                  小于500
           500 bbb                  等于500
           501 ccc                  大于500
    

    满足客户用SQL实现某列值条件判断的需求,我们可以看到这个例子非常简单,但这也是大多数运维dba的短板--SQL相关知识欠缺,还是要学习积累的。

  • 相关阅读:
    SSD3 MultipleChoice Quiz 3
    vivizhyy 喜欢 win7 任务栏的地方
    win7 蓝屏事件
    win7 窗口靠近屏幕边缘时……
    写 SSD3 遇见很 囧 的事情
    用上 win7 了
    win7 快捷键
    SSD3 : MultipleChoice Quiz 4
    EasyUI——常见用法总结
    JQuery——那些当时我想不到的知识点
  • 原文地址:https://www.cnblogs.com/jyzhao/p/9721441.html
Copyright © 2011-2022 走看看