我有一个表EMPLOYEE_STATUS
,带有列
SUBMIT_DATE
的值为11-05-18 11:27:34.086000000 AM
和UPDATED_ON
值为11-06-18 12:55:22.064000000 PM
这基本上是当前的日期。
我需要对oracle数据库进行sql查询,以查找那些在提交日期和更新日期或当前日期之间的天数差异为30天或更多的行。
我尝试了DATEDIFF
功能但无法使其正常工作。
我尝试了以下(不起作用):
select * from EMPLOYEE_STATUS e
where DATEDIFF(month, '12-06-18 03:34:09.448000000 PM', e.SUBMIT_DATE) >=1
答案 0 :(得分:-1)
函数DATEDIFF()
未包含在Oracle SQL Server中(如本文所述)。相反,您只需相互减去日期,如下所示:
SELECT (11-06-18 12:55:22.064000000 PM) - (11-05-18 11:27:34.086000000 AM);
返回天数的差异。因此,您必须对此进行补偿(在您的示例中,您正在寻找一个月的差异,可能是28到31天之间的任何差异)。
对于使用 MySQL 或 SQL Server 的用户,您可以这样做:
SELECT DATEDIFF(month, '2018-05-11 11:27:34', '2018-06-11 12:55:22') AS DateDiff;