使用Oracle SQL增加日期

xn *_* dx 3 sql oracle date increment

我们每天晚上使用SQL发送邮件.特别是我们想每隔3天发一次提醒,但我完全不知道怎么做,或者甚至可能?

这是我的代码:

SELECT *
FROM   table
WHERE  status = 'pending'
       AND ( date_created = sysdate - 3
              OR date_created = sysdate - 6
              OR date_created = sysdate - 9 )  
Run Code Online (Sandbox Code Playgroud)

这样的效果,但更好的编码方式,也是一个更有效的方式,不需要我一直到数百!^ _ ^

谢谢

Ray*_*oal 7

尝试

SELECT *
FROM table
WHERE status = 'pending'
AND MOD(sysdate-date_created, 3) = 0
Run Code Online (Sandbox Code Playgroud)

有关Oracle MOD的信息:http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/functions088.htm

  • 如果时间不重要,你可能想要使用TRUNC:`MOD((trunc(sysdate,'DD') - trunc(date_created,'DD')),3)= 0` (2认同)