我想计算时间“第二行日期/时间(F3)” - “第一行日期/时间(F2)”,以获得ORACLE sql中的时间差。我尝试以我的方式在 LAG 函数中使用 (extract,to_char)apply 来减去日期,但我无法获得我想要的输出结果,如下所示。感谢有人可以在这个问题上帮助我。谢谢。
[我希望得到的输出][2]
SELECT stg_rmstmp_cj.ota_activity.ID,
stg_rmstmp_cj.ota_activity.LOT,stg_rmstmp_cj.ota_activity.TYPE,stg_rmstmp_cj.ota_activity.KEY, stg_rmstmp_cj.ota_activity.VALUE,A.DATE,
LAG(stg_rmstmp_cj.ota_activity.DATE) OVER (ORDER BY stg_rmstmp_cj.ota_activity.DATE) -stg_rmstmp_cj.ota_activity.DATE AS Different_time
FROM stg_rmstmp_cj.ota_activity where A.ID='93K-100';
这是我最近遇到的新错误,如下添加分区,但似乎它确实解决了附加屏幕截图示例的问题:
select EQP_ID,LOT_ID,ACTIVITY,ID,
TO_CHAR(MODIFIED_DATE,'yyyy-mm-dd hh24:mi:ss') dt,
TO_CHAR (DATE '1900-01-01' + ABS ( LAG(MODIFIED_DATE,1)OVER(ORDER BY MODIFIED_DATE) - MODIFIED_DATE), 'HH24:MI:SS')AS diff_withoutpartition,
TO_CHAR (DATE '1900-01-01' + ABS ( LAG(MODIFIED_DATE,1)OVER(PARTITION BY EQP_ID ORDER BY MODIFIED_DATE) - MODIFIED_DATE), 'HH24:MI:SS')AS diff_withpartition
from STG_RMSTMP_CJ.ota_activity where EQP_ID = '93K-P007'