sql >> Database >  >> RDS >> PostgreSQL

Onverwachte resultaten van SQL-query met TUSSEN tijdstempels

Controleer het gegevenstype van de kolommen en uw tijdzone . Je verwart misschien timestamp with time zone en timestamp .

Het lijkt erop dat je timestamp . hebt in uw tabel, maar zoek met timestamptz . Op deze manier hangt het allemaal af van de lokale tijdzone van uw sessie (die standaard de tijdzone van de server is, tenzij anders gespecificeerd).

Schakel beide naar timestamptz , of timestamp als tijdzones helemaal niet relevant voor je zijn. (Gebruik bij twijfel timestamptz .)

Niet de oorzaak van uw probleem, maar uw vraag zou waarschijnlijk moeten zijn:

SELECT id, text, category, starttime, endtime, creation 
FROM   entries 
WHERE  starttime >= timestamp '2013-03-21' -- defaults to 00:00 time
AND    starttime <  timestamp '2013-03-22'
ORDER  BY id

a BETWEEN x AND y is bijna altijd fout voor timestamp typen vanwege fractionele getallen! Wat zou uw zoekopdracht doen met starttime = '2013-03-21T23:59:59.123+00' ?




  1. Nadat MySQL via Brew is geïnstalleerd, krijg ik de foutmelding - De server is gestopt zonder het PID-bestand bij te werken

  2. Tel mediaan gegroepeerd op dag

  3. mysql-datumformaat met betrekking tot een specifiek land

  4. Waarom bin2hex gebruiken bij het invoegen van binaire gegevens uit PHP in MySQL?