oracle 计算俩个时间差值的函数

oracle 计算俩个时间差值的函数,第1张

假设截图中的表为t_num_pid (你要 *** 作的表应该没有pid字段吧,我导进去了,供参照),可通过如下语句实现:

select a

,case when length(a||b||c||d||e||f)-2 = 0 then null

else sid - row_number()over( partition by substr(a||b||c||d||e||f ,1,length(a||b||c||d||e||f)-2) order by sid )

end pid

from t_num_pid a

order by sid

;

思路:

1你的每一条记录对应一个sid,相当于一条条的文件路径,

那么最后一个文件节点都有一个父路径,

先用row_number()over( partition by substr(a||b||c||d||e||f ,1,length(a||b||c||d||e||f)-2)

对父路径分组排序,所得的序号即为每个路径最后一个节点sid与其父节点pid的差值,即:pid = sid - 序号 的关系存在。

2

sid - 序号 = 0 时,用 case when end 置为null;

我这边跑的结果:

select aa,ab,ac,ad,ae,af,asid

--,sid - row_number()over( partition by substr(a||b||c||d||e||f ,1,length(a||b||c||d||e||f)-2) order by sid ) pid

,case when length(a||b||c||d||e||f)-2 = 0 then null

else sid - row_number()over( partition by substr(a||b||c||d||e||f ,1,length(a||b||c||d||e||f)-2) order by sid )

end pid

from t_num_pid a

order by sid

;

A B C D E F SID PID

---- ---- ---- ---- ---- ---- ---------- ----------

Q1 1

Q1 W1 2 1

Q1 W1 E1 3 2

Q1 W1 E1 R1 4 3

Q1 W1 E1 R2 5 3

Q1 W1 E1 R3 6 3

S1 7

S1 D1 8 7

S1 D1 F1 9 8

S1 D1 F1 G1 10 9

S1 D1 F1 G2 11 9

S1 D1 F1 G3 12 9

H1 13

H1 J1 14 13

H1 J1 K1 15 14

H1 J1 K1 L1 16 15

H1 J1 K1 L2 17 15

H1 J1 K1 L3 18 15

select months_between(t2rq,trq) 时间差

from t,

(select t,rownum-1 rn from t )t2

where trownum=t2rn;

楼主参考下

如果表中的日期字段是date格式:

select sysdate - 日期字段 from 表名;

如果表中的日期字段是char或者varchar或者varchar2格式:

select sysdate - to_date(日期字段, 'yyyymmdd') from 表名;

select 表1,sysdate-to_date(to_char(表1到达日期,'dd-mm-yy')||表1到达时间,'dd-mm-yyhh24:mi') 时间差,表2 from 表1,表2 where to_date(to_char(到达日期,'dd-mm-yy')||到达时间,'dd-mm-yyhh24:mi')<=sysdate-24/24(读表1,24小时前的数据)where 表1ch=表2ch;

补充:

以后问问题的话,不要这么问,这么问如果不了解情况的话,谁也帮补了你的。

---

以上,希望对你有所帮助。

以上就是关于oracle 计算俩个时间差值的函数全部的内容,包括:oracle 计算俩个时间差值的函数、oracle怎样求相邻行之间的时间差、oracle 日期问题 表中有个日期字段,如何取得当前日期与表中日期的时间差,简单点说就是差多少天等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9512140.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存