Предложение Oracle SQL Where для поиска записей дат старше 30 дней - PullRequest
30 голосов
/ 05 октября 2010

Я хочу найти записи в таблице (Oracle SQL), используя поле даты создания, где записи старше 30 дней.Было бы неплохо найти записи с использованием таких операторов, как>, но если кто-нибудь может предложить быстрый оператор SQL where clause для поиска записей старше 30 дней, это было бы неплохо.Пожалуйста, предложите синтаксис Oracle, поскольку это то, что я использую.

1 Ответ

53 голосов
/ 05 октября 2010

Использование:

SELECT *
  FROM YOUR_TABLE
 WHERE creation_date <= TRUNC(SYSDATE) - 30

SYSDATE возвращает дату и время; TRUNC сбрасывает дату до полуночи, поэтому вы можете опустить ее, если хотите, чтобы creation_date было на 30 дней раньше, включая текущее время.

В зависимости от ваших потребностей, вы можететакже посмотрите на использование ADD_MONTHS :

SELECT *
  FROM YOUR_TABLE
 WHERE creation_date <= ADD_MONTHS(TRUNC(SYSDATE), -1)
...