Запрос Oracle для получения данных из таблицы, вставленной за последние 10 минут - PullRequest
28 голосов
/ 21 мая 2009

Мне нужно получить данные из таблицы Oracle, в которой у меня есть одно поле даты с именем lastupdatedDate, и я хочу получить обратно только те строки, в которых lastupdatedDate за последние 10 минут составляет sysdate

Например, если в моей таблице lastupdateDate равно 05/20/09 4:20:44, то я хочу вернуть эту строку в свой результат, если я выполню запрос в диапазоне от 05/20/09 4:20:44 до 05/20/09 4:30:44, а не если я выполню команду запрос на 05/20/09 5:31:44.

Ответы [ 3 ]

65 голосов
/ 21 мая 2009

Или чуть более читабельно:

select *
  from mytable
 where lastupdatedDate > sysdate - interval '10' minute
21 голосов
/ 21 мая 2009
select *
from mytable
where lastupdatedDate > sysdate - (10/1440)

Более читаемая версия этого приведена Робом ван Вейком здесь https://stackoverflow.com/a/893668/39430

9 голосов
/ 21 мая 2009
select sysdate - 10/(24*60) from dual;

См. Пример выше, чтобы получить sysdate минус десять минут, теперь просто добавьте к вашему запросу

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...