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

Как да определя последния ден от предишния месец с помощта на PostgreSQL?

И двете решениявключват последния ден на предходния месец и същовключва всичко от "днес".

За date колона:

SELECT *
FROM   tbl
WHERE  my_date BETWEEN date_trunc('month', now())::date - 1
               AND     now()::date

Можете да извадите обикновени целочислени стойности от date (но не от timestamp ) за изваждане на дните. Това е най-простият и бърз начин.

За timestamp колона:

SELECT *
FROM   tbl
WHERE  my_timestamp >= date_trunc('month', now()) - interval '1 day'
AND    my_timestamp <  date_trunc('day'  , now()) + interval '1 day'

Имайте предвид, че използвам < оператор за второто условие, за да получите точни резултати (~ "преди утре").

Не предавам към date във втората заявка. Вместо това добавям interval '1 day' , за да избегнете хвърляне напред-назад.

Разгледайте видовете дата/час и функции в ръководството.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Отворени са ранни регистрации за PGDay.IT 2011

  2. В PostgreSQL, как да вмъкна данни с команда COPY?

  3. Получаване на всички сгради в обхват от 5 мили от определени координати

  4. CURRENT_TIMESTAMP в милисекунди

  5. Как мога да вмъкна коментари на колони в PostgreSQL чрез Python?