Записи со вчерашнего дня в postrgesql

Вопрос:У меня есть приложение, в котором я использовал MySQL. У меня был отчет, который показывал последние 24 часа. Я использовал запрос: WHERE (DATE_SUB(CURDATE(), INTERVAL 1 DAY)

Вопрос:

У меня есть приложение, в котором я использовал MySQL. У меня был отчет, который показывал последние 24 часа. Я использовал запрос:

WHERE (DATE_SUB(CURDATE(), INTERVAL 1 DAY) <= FROM_UNIXTIME(`workorder`.`CREATEDTIME` / 1000))

Теперь я должен использовать PostgreSQL и не знаю, как сделать отчет за последние 24 часа.
Может ли кто-нибудь из вас помочь?

Лучший ответ:WHERE workorder.createdtime > current_date — 1 — Yesterday and today WHERE workorder.createdtime > current_timestamp — interval ‘1 day’ — last 24hr Ответ №1

> TIMESTAMP ‘yesterday’

Для удобства Postgres включает в себя несколько жестко закодированных значений в качестве специальных входов даты/времени. К ним относятся:

  • yesterday
  • today
  • tomorrow
  • now

Попробуйте SELECT TIMESTAMP ‘now’.

Например, вот запрос.

SELECT when_row_created_ FROM customer_ WHERE when_row_created_ > TIMESTAMP ‘yesterday’ ORDER BY when_row_created_ DESC ;

Эти команды могут не соответствовать производственному коду, но они, безусловно, удобны в разработке. Прочтите документы и выполните некоторую практику, чтобы убедиться, что вы понимаете поведение этих команд, как влияет на них временной диапазон сеансов и т.д.

Недостатки включают (a) неявное игнорирование ключевой проблемы часового пояса и (b) не стандартный SQL.

Ответ №2where workorder.createdtime >= now() — interval ’24 hour’

Оцените статью
Добавить комментарий