postgresql
Date, timestamp e intervalli
Ricerca…
Trasmetti un timestamp o un intervallo a una stringa
È possibile convertire un timestamp
o un valore di interval
in una stringa con la funzione to_char()
:
SELECT to_char('2016-08-12 16:40:32'::timestamp, 'DD Mon YYYY HH:MI:SSPM');
Questa dichiarazione produrrà la stringa "12 Aug 2016 04:40:32 PM". La stringa di formattazione può essere modificata in molti modi diversi; l'elenco completo dei modelli di modelli può essere trovato qui .
Tieni presente che puoi anche inserire testo semplice nella stringa di formattazione e puoi utilizzare i modelli di modelli in qualsiasi ordine:
SELECT to_char('2016-08-12 16:40:32'::timestamp,
'"Today is "FMDay", the "DDth" day of the month of "FMMonth" of "YYYY');
Questo produrrà la stringa "Oggi è sabato, il 12 ° giorno del mese di agosto 2016". Dovresti tenere a mente, tuttavia, che qualsiasi modello di modello - anche quelli a lettera singola come "I", "D", "W" - vengono convertiti, a meno che il testo normale non sia racchiuso tra virgolette. Come misura di sicurezza, dovresti inserire tutto il testo normale tra virgolette, come fatto sopra.
È possibile localizzare la stringa nella lingua prescelta (nomi di giorno e mese) utilizzando il modificatore TM (modalità di traduzione). Questa opzione utilizza l'impostazione di localizzazione del server che esegue PostgreSQL o il client che si connette ad esso.
SELECT to_char('2016-08-12 16:40:32'::timestamp, 'TMDay, DD" de "TMMonth" del año "YYYY');
Con un'impostazione locale spagnola, questo produce "Sábado, 12 de Agosto del año 2016".
SELEZIONA l'ultimo giorno del mese
È possibile selezionare l'ultimo giorno del mese.
SELECT (date_trunc('MONTH', ('201608'||'01')::date) + INTERVAL '1 MONTH - 1 day')::DATE;
201608
è sostituibile con una variabile.
Conta il numero di record a settimana
SELECT date_trunc ('week', <>) AS "Week", count (*) FROM <> GROUP BY 1 ORDER BY 1;