Oracle中补全时间的处理

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

以下为补全年份的案例:

sql 复制代码
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用于普通查询,不会出现重复值。

相关推荐
松涛和鸣29 分钟前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
likangbinlxa1 小时前
【Oracle11g SQL详解】UPDATE 和 DELETE 操作的正确使用
数据库·sql
r i c k1 小时前
数据库系统学习笔记
数据库·笔记·学习
野犬寒鸦1 小时前
从零起步学习JVM || 第一章:类加载器与双亲委派机制模型详解
java·jvm·数据库·后端·学习
IvorySQL2 小时前
PostgreSQL 分区表的 ALTER TABLE 语句执行机制解析
数据库·postgresql·开源
·云扬·2 小时前
MySQL 8.0 Redo Log 归档与禁用实战指南
android·数据库·mysql
IT邦德2 小时前
Oracle 26ai DataGuard 搭建(RAC到单机)
数据库·oracle
惊讶的猫3 小时前
redis分片集群
数据库·redis·缓存·分片集群·海量数据存储·高并发写
不爱缺氧i3 小时前
完全卸载MariaDB
数据库·mariadb
纤纡.3 小时前
Linux中SQL 从基础到进阶:五大分类详解与表结构操作(ALTER/DROP)全攻略
linux·数据库·sql