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 by② level③ <= 结束年份 - 开始年份 + 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用于普通查询,不会出现重复值。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dtcms.com/a/33658.html
如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!