我正在计算从特定日期开始经过的天数,从我的数据库中的表中检索。基于我在W3Schools(Here)上找到的信息,我尝试使用DATEDIFF,但我遇到了一些我似乎无法解决的错误。
我在下面包含了我的代码,基于此,我想要发生的是:从“Wave_Data”表中选择“DD”,并根据“sysdate”计算已经失效的天数从那以后。
SELECT DATEDIFF(WEEKDAY,:P1_DD,SYSDATE)
FROM WAVE_DATA
WHERE WAVE_NUMBER = :P1_WAVE;
然后,最终计算将被输入到我的ApEx数据库中的文本字段中。
提前感谢您提供的任何帮助,
星
答案 0 :(得分:1)
在Oracle中,您只需从另一个日期中减去一个日期即可获得它们之间的差异(以天为单位):
SELECT SYSDATE - :p1_dd
FROM Wave_Data
WHERE Wave_Number = :p1_wave;
如果您想知道没有任何时间部分的日期之间的区别,那么您可以这样做:
SELECT TRUNC( SYSDATE ) - TRUNC( :p1_dd )
FROM Wave_Data
WHERE Wave_Number = :p1_wave;
或
SELECT FLOOR( SYSDATE - :p1_dd )
FROM Wave_Data
WHERE Wave_Number = :p1_wave;