SQL SELECT日期来自表,并计算自该日期以来的天数

时间:2016-06-18 12:51:31

标签: sql oracle date datediff days

我正在计算从特定日期开始经过的天数,从我的数据库中的表中检索。基于我在W3Schools(Here)上找到的信息,我尝试使用DATEDIFF,但我遇到了一些我似乎无法解决的错误。

我在下面包含了我的代码,基于此,我想要发生的是:从“Wave_Data”表中选择“DD”,并根据“sysdate”计算已经失效的天数从那以后。

SELECT DATEDIFF(WEEKDAY,:P1_DD,SYSDATE)
FROM WAVE_DATA
WHERE WAVE_NUMBER = :P1_WAVE;

然后,最终计算将被输入到我的ApEx数据库中的文本字段中。

提前感谢您提供的任何帮助,

1 个答案:

答案 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;