Brug INTERVAL
skriv til det. F.eks.:
--yesterdaySELECT NOW() - INTERVAL '1 DAY';--Urelateret:PostgreSQL understøtter også nogle interessante genveje:SELECT 'yesterday'::TIMESTAMP, 'i morgen'::TIMESTAMP, 'allballs'::TIME AS aka_midnight;
Du kan derefter gøre følgende:
VÆLG org_id, count(accounts) AS COUNT, ((date_at) - INTERVAL '1 DAY') AS dateatFROM sourcetableWHERE date_at <=now() - INTERVAL '130 DAYS'GROUP BY org_id, date;
TIPS
Tip 1
Du kan tilføje flere operander. F.eks.:hvordan får man den sidste dag i den aktuelle måned?
SELECT date_trunc('MONTH', CURRENT_DATE) + INTERVAL '1 MONTH - 1 DAY';
Tip 2
Du kan også oprette et interval ved hjælp af make_interval
funktion, nyttig, når du skal oprette den under kørsel (ikke ved hjælp af bogstaver):
SELECT make_interval(days => 10 + 2);SELECT make_interval(days => 1, hours => 2);SELECT make_interval(0, 1, 0, 5, 0, 0, 0.0); Flere oplysninger:
Dato/tid funktioner og operatører
datatype-datetime (særlige værdier) .