• 使用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相关知识欠缺,还是要学习积累的。

  • 相关阅读:
    springtools插件的安装
    Spring--Bean的配置
    BS模式与CS模式的区别
    AMD 和 CMD 的区别有哪些?
    js中import和require的区别
    6个最优秀的微信小程序UI组件库
    微信小程序获取formid
    NodeJs 实现简单WebSocket 即时通讯
    NodeJS怎么实现WebSocket功能
    NodeJs实现WebSocket——express-ws
  • 原文地址:https://www.cnblogs.com/jyzhao/p/9721441.html
Copyright © 2020-2023  润新知