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

как да изчислим само дни между две дати в заявка на postgres sql.

Не използвайте age() функция за аритметика за дата/час. Той само връща "символични" резултати (които са достатъчно добри за човешко представяне, но почти безсмислени за изчисления на дата/час; в сравнение със стандартната разлика).

Стандартният оператор за разлика (- ) връща базирани на деня резултати и за двете date , timestamp и timestamp with time zone (първото връща дни като int , последните две връщат базиран на дни interval s):

От дневните интервали можете да извлечете дни с extract() функция:

select current_date - '2017-01-01',
       extract(day from now()::timestamp - '2017-01-01 00:00:00'),
       extract(day from now()            - '2017-01-01 00:00:00Z');

http://rextester.com/RBTO71933



  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. Не може да се промени свойството само за четене на транзакция по средата на транзакция

  3. задайте ниво на изолация за съхранени процедури на postgresql

  4. Не може да се свърже с postgres от отдалечен хост

  5. Подайте SQL функции във филтърната функция dplyr в базата данни