Wat is er mis met:
SELECT a,b,c
FROM table
WHERE xtime BETWEEN '2012-04-01 23:55:00'::timestamp
AND now()::timestamp;
Als u wilt werken met een aantal seconden als interval
:
...
WHERE xtime BETWEEN now()::timestamp - (interval '1s') * $selectedtimeParm
AND now()::timestamp;
Let op, hoe ik de standaard ISO 8601-datumnotatie gebruikte YYYY-MM-DD h24:mi:ss
die ondubbelzinnig is met elke landinstelling of DateStyle
instelling.
Merk ook op dat de eerste waarde voor de BETWEEN
constructie moet de kleinere zijn. Als je niet weet welke waarde kleiner is, gebruik dan BETWEEN SYMMETRIC
in plaats daarvan.
In je vraag verwijs je naar het datetime type timestamp
als "datum", "tijd" en "periode". In de titel gebruikte je de term "timeframes", die ik heb veranderd in "timestamps". Al deze termen zijn fout. Door ze vrijelijk uit te wisselen, wordt de vraag nog moeilijker te begrijpen.
Dat, en het feit dat je alleen de vraag psql
. hebt getagd (het probleem betreft nauwelijks de opdrachtregelterminal) zou kunnen helpen verklaren waarom dagenlang niemand antwoordde. Normaal gesproken is het hier een kwestie van minuten. Ik kon je vraag moeilijk begrijpen, moest hem een paar keer lezen.
U moet de gegevenstypen date
begrijpen , interval
, time
en timestamp
- met of zonder tijdzone. Begin met het lezen van het hoofdstuk "Datum-/tijdtypes" in de handleiding .
Foutmelding zou ook een lange weg zijn geweest.