Oracle case when 实现数据字段数据的判断过滤

需求

现在有一份管线数据,表中含有字段buildTime说明了管线的建设日期,我们需要按时间段统计管线的数据
这是,我们需要对管线表中建设日期所对应的字段进行分类
实现如下:
这里写图片描述

实现

对现有的数据进行分类判断过滤,使用到了 case when

case when

case when 实现了对数据的不同范围进行判断过滤并重新规范的过程,类似于 while(个人理解)
语法:

  CASE
  WHEN condition1 THEN result1
  WHEN condistion2 THEN result2
  ...
  WHEN condistionN THEN resultN
  ELSE default_result
  END as judgeName //命名别名
上图实现
select  nvl(cd, 0) as cd,
    case
       when jsnd between
           to_date(2007-12-31 000000', 'yyyy-mm-dd HH24miss') and
            to_date('2017-12-31 000000', 'yyyy-mm-dd HH24miss') then
        '10'
       when jsnd between
            to_date('1987-12-31 000000', 'yyyy-mm-dd HH24miss') and
            to_date('2007-12-31 000000', 'yyyy-mm-dd HH24miss') then
        '1030'
       when jsnd between
            to_date('1967-12-31 000000', 'yyyy-mm-dd HH24miss') and
            to_date('1987-12-31 000000', 'yyyy-mm-dd HH24miss') then
        '3050'
       when jsnd 
            to_date('1967-12-31 000000', 'yyyy-mm-dd HH24miss') then
        '50'
       else
        'unkown'
     end as timeClassification
    from CLZHGWSDE.JS_GX_PL) GX
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值