oracle下一条减上一条时间差,SQL 计算当前记录和下一条记录之间的日期差

编程入门 行业动态 更新时间:2024-10-06 22:32:03

oracle下一条减上一条<a href=https://www.elefans.com/category/jswz/34/1661498.html style=时间差,SQL 计算当前记录和下一条记录之间的日期差"/>

oracle下一条减上一条时间差,SQL 计算当前记录和下一条记录之间的日期差

SQL 计算当前记录和下一条记录之间的日期差,计算两个日期之间相差多少天(特别是当两者分别存储于不同的行的时候)。例如,对于 DEPTNO 等于 10 的部门的每一个员工,你希望计算出他们的入职日期之间相差多少天。

SQL 计算当前记录和下一条记录之间的日期差 问题描述

计算两个日期之间相差多少天(特别是当两者分别存储于不同的行的时候)。例如,对于 DEPTNO 等于 10 的部门的每一个员工,你希望计算出他们的入职日期之间相差多少天。

SQL 计算当前记录和下一条记录之间的日期差 解决方案

要解决本问题有一个诀窍是,在早于当前入职时间的所有记录里找出 HIREDATE 的最小值。如此一来,剩下的工作就是利用 8.2 节里提到的技巧来计算出两个日期之间相差多少天。

DB2

使用标量子查询找出相对于当前 HIREDATE 的下一个 HIREDATE。然后,调用 DAYS 函数计算两个日期之间相差多少天。

MySQL 和 SQL Server

使用标量子查询找出相对于当前 HIREDATE 的下一个 HIREDATE。然后,调用 DATEDIFF 函数计算两个日期之间相差多少天。下面的代码里以 SQL Server 版本的 DATEDIFF 函数为例。

对于 MySQL 版本的 DATEDIFF 函数,我们需要省略第一个参数 day,并把剩下的两个参数的顺序颠倒过来。

Oracle

对于 Oracle 8i 及后续版本,使用窗口函数 LEAD OVER 访问相对于当前 HIREDATE 的下一个 HIREDATE,然后执行减法运算。

对于 Oracle 8i 及更早的版本,则需要采用下面的 PostgreSQL 解决方案。

PostgreSQL

使用标量子查询找

更多推荐

oracle下一条减上一条时间差,SQL 计算当前记录和下一条记录之间的日期差

本文发布于:2024-02-06 15:26:48,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1749697.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:时间差   下一条   日期   上一条   oracle

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!