sql >> Database >  >> RDS >> PostgreSQL

hoe alleen dagen tussen twee datums te berekenen in postgres sql-query.

Gebruik niet de age() functie voor rekenen met datum/tijd. Het geeft alleen "symbolische" resultaten (die goed genoeg zijn voor menselijke representatie, maar bijna zinloos voor datum/tijd-berekeningen, vergeleken met het standaardverschil).

De standaard verschiloperator (- ) retourneert op dag gebaseerde resultaten voor beide date , timestamp en timestamp with time zone (de eerste keert dagen terug als int , de laatste twee retourneren op dag gebaseerde interval s):

Uit de op dagen gebaseerde intervallen kunt u dagen extraheren met de extract() functie:

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. Oracle, Blob-gegevens ontbreken in mijn exportbestand

  2. Ongeldig parametertype (numpy.int64) bij het invoegen van rijen met executemany()

  3. Wat is de beste databasestructuur om meertalige gegevens te bewaren?

  4. Hibernate webapplicatie met MySQL-failover