Oracle中补全时间的处理

在实际数据处理的过程中,存在日期不连续的问题,可能会导致数据传到前后端出现异常,为了避免这种问题,通常会从数据端进行日期不全的处理:
以下为补全年份的案例:

with x as
(select 开始年份 +level-1)as 年份 
 from(select extract①(YEAR from min(hiredate))as 开始年份.
             extract(YEAR from max(hiredate))as 结束年份
      from emp)
connect bylevel<= 结束年份 - 开始年份 + 1
)
select * from x;

1、extract函数:用于从时间中提取特定部分,如年月日时分秒,语法:extract(field from source) ;
field:YEAR、MONTH、DAY、HOUR、MINUTE、SECOND等
source:日期或时间值,列名、表达式、常量;
2、connect by:树形查询关键词,此处用于生成数字序列结果集;
3、level:此处用于限制查询结果的行数,这里可以换成rownum,区别在于level用于树形查询的节点,若有相同层级时level相同,rownum用于普通查询,不会出现重复值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值