postgresql
Datum, tidsstämplar och intervaller
Sök…
Kasta en tidsstämpel eller intervall till en sträng
Du kan konvertera en timestamp
eller ett interval
till en sträng med to_char()
:
SELECT to_char('2016-08-12 16:40:32'::timestamp, 'DD Mon YYYY HH:MI:SSPM');
Detta uttalande kommer att producera strängen "12 aug 2016 04:40:32 PM". Formateringssträngen kan ändras på många olika sätt; hela listan med mallmönster hittar du här .
Observera att du också kan infoga vanlig text i formateringssträngen och du kan använda mallmönstren i valfri ordning:
SELECT to_char('2016-08-12 16:40:32'::timestamp,
'"Today is "FMDay", the "DDth" day of the month of "FMMonth" of "YYYY');
Detta kommer att producera strängen "Idag är lördag, den 12: e dagen i augusti 2016". Du bör dock tänka på att alla mallmönster - till och med de enkla bokstäverna som "jag", "D", "W" konverteras, såvida inte den vanliga texten är i dubbla citat. Som säkerhetsåtgärd bör du lägga all vanlig text i dubbla citat, som gjort ovan.
Du kan lokalisera strängen till ditt språk du väljer (dag och månad namn) med hjälp av modifieraren TM (översättningsläge). Detta alternativ använder lokaliseringsinställningen för servern som kör PostgreSQL eller klienten som ansluter till den.
SELECT to_char('2016-08-12 16:40:32'::timestamp, 'TMDay, DD" de "TMMonth" del año "YYYY');
Med en spansk språkinställning producerar detta "Sábado, 12 de Agosto del año 2016".
VÄLJ den sista dagen i månaden
Du kan välja den sista dagen i månaden.
SELECT (date_trunc('MONTH', ('201608'||'01')::date) + INTERVAL '1 MONTH - 1 day')::DATE;
201608
ersättas med en variabel.
Räkna antalet poster per vecka
VÄLJ datum_trunc ('vecka', <>) SOM "Vecka", räkna (*) FRÅN <> GRUPP AV 1 BESTÄLLNING AV 1;