PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да получите вчерашната дата в PostgreSQL

Проблем:

Искате да покажете вчерашната дата (без час) в PostgreSQL база данни.

Решение 1:

SELECT current_date - INTEGER '1' AS yesterday_date;

Ако приемем, че днес е 2020-09-24, резултатът е:

yesterday_date
23.09.2020

Дискусия:

За да получите вчерашната дата, трябва да извадите един ден от днешната. Използвайте current_date за да получите днешната дата. Имайте предвид, че нямате нужда от скоби в края на current_date функция. В PostgreSQL можете да изваждате или добавяте произволен брой дни, като използвате INTEGER ключова дума. Тук, тъй като трябва да извадите един ден, използвате - INTEGER '1' за да получите вчерашната дата. Имайте предвид, че резултатът от това изчисление все още има тип колона date .

Решение 2:

SELECT (current_date - INTERVAL '1 day')::date AS yesterday_date;

Ако приемем, че днес е 2020-09-24, резултатът е:

yesterday_date
23.09.2020

Дискусия:

Вземете днешната дата с помощта на current_date . Трябва да извадите интервал от един ден от текущата дата. За да направите това, използвайте INTERVAL ключова дума, която създава всеки интервал от време/дата, който искате (тук, '1 day' , което в PostgreSQL е същото като 24 часа). Изваждане на INTERVAL '1 day' от днешната дата ще доведе до колона, форматирана като времева марка, така че трябва да я прехвърлите към date . Най-бързият начин да направите това в PostgreSQL е да добавите ::date към целия израз (не забравяйте да затворите израза в скоби).

Разбира се, можете също толкова лесно да се върнете назад за всеки интервал от време. Ето един пример:

SELECT (current_date - INTERVAL '3 months 10 days')::date;

INTERVAL също може да седобавит на среща. И така, ето начин, ако искате да получите утрешната дата:

SELECT (current_date + INTERVAL '1 day')::date AS tomorrow_date;

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Каква е разликата между единични и двойни кавички в PostgreSQL?

  2. Как да импортирам модули или да инсталирам разширения в Postgres?

  3. Как мога да слея колоните от две таблици в един изход?

  4. psql:сървърът неочаквано затвори връзката

  5. PDO срещу pg_* функции