Увеличение даты с использованием Oracle SQL - PullRequest
3 голосов
/ 02 сентября 2011

Мы отправляем рассылки каждый вечер, используя SQL. В частности, для этого мы хотели бы отправлять напоминание каждые 3 дня, но я абсолютно не знаю, как это сделать, или, если это вообще возможно?

Вот мой код:

SELECT *
FROM   table
WHERE  status = 'pending'
       AND ( date_created = sysdate - 3
              OR date_created = sysdate - 6
              OR date_created = sysdate - 9 )  

Кое-что на этот счет, но более хороший способ кодирования, а также более эффективный, который не потребует от меня, чтобы я прошел весь путь до сотен! ^ _ ^

Спасибо

1 Ответ

7 голосов
/ 02 сентября 2011

Попробуйте

SELECT *
FROM table
WHERE status = 'pending'
AND MOD(sysdate-date_created, 3) = 0

Информация об Oracle MOD: http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/functions088.htm

...