Запрос Oracle для получения Данных из таблицы, вставленной в прошлые 10 минут

Когда вы используете createFromFormat, вы создаете углеродный объект, как вы можете прочитать в документации с 2019-01-16 18:21:31 DateTime в Америке / Ванкувере часовом поясе

Но то, что вы на самом деле хотите сделать, - это преобразовать ваше время UTC в время Америки / Ванкувера.

Вам следует создать DateTime с часовым поясом UTC

$tz = $tt->created_at;  // "2019-01-16 18:21:31" (UTC Time)
$date = Carbon::createFromFormat('Y-m-d H:i:s', $tz, 'UTC');

Таким образом, ваш объект DateTime находится в UTC , как ваша база данных, а затем преобразовать его в Америка / Ванкувер время

$date->setTimezone('America/Vancouver'); // "2019-01-16 10:21:31" (America/Vancouver Time)

30
задан CubeJockey 14 January 2016 в 17:42
поделиться

3 ответа

select *
from mytable
where lastupdatedDate > sysdate - (10/1440)

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

25
ответ дан 27 November 2019 в 23:03
поделиться

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

select *
  from mytable
 where lastupdatedDate > sysdate - interval '10' minute
72
ответ дан Jeremy Thompson 27 November 2019 в 23:03
поделиться
select sysdate - 10/(24*60) from dual;

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

11
ответ дан 27 November 2019 в 23:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: