postgresql
Datums, tijdstempels en intervallen
Zoeken…
Cast een tijdstempel of interval naar een string
U kunt een timestamp
of interval
omzetten in een tekenreeks met de functie to_char()
:
SELECT to_char('2016-08-12 16:40:32'::timestamp, 'DD Mon YYYY HH:MI:SSPM');
Deze verklaring levert de tekenreeks "12 aug 2016 04:40:32 PM" op. De opmaakreeks kan op veel verschillende manieren worden gewijzigd; de volledige lijst met sjabloonpatronen vindt u hier .
Houd er rekening mee dat u ook gewone tekst in de opmaakreeks kunt invoegen en dat u de sjabloonpatronen in elke volgorde kunt gebruiken:
SELECT to_char('2016-08-12 16:40:32'::timestamp,
'"Today is "FMDay", the "DDth" day of the month of "FMMonth" of "YYYY');
Dit levert de string "Vandaag is zaterdag, de 12e dag van de maand augustus 2016" op. Houd er echter rekening mee dat sjabloonpatronen - zelfs de enkele letter zoals "I", "D", "W" - worden omgezet, tenzij de platte tekst tussen dubbele aanhalingstekens staat. Als veiligheidsmaatregel moet u alle platte tekst tussen dubbele aanhalingstekens plaatsen, zoals hierboven gedaan.
U kunt de tekenreeks lokaliseren in de door u gewenste taal (dag- en maandnamen) met behulp van de TM (vertaalmodus) modifier. Deze optie gebruikt de lokalisatie-instelling van de server waarop PostgreSQL wordt uitgevoerd of de client die hiermee verbinding maakt.
SELECT to_char('2016-08-12 16:40:32'::timestamp, 'TMDay, DD" de "TMMonth" del año "YYYY');
Met een Spaanse locale instelling levert dit "Sábado, 12 de Agosto del año 2016" op.
SELECTEER de laatste dag van de maand
U kunt de laatste dag van de maand selecteren.
SELECT (date_trunc('MONTH', ('201608'||'01')::date) + INTERVAL '1 MONTH - 1 day')::DATE;
201608
kan worden vervangen door een variabele.
Tel het aantal records per week
SELECT date_trunc ('week', <>) ALS "Week", tel (*) VANAF <> GROEPEN OP 1 BESTELLEN OP 1;