In PostgreSQL, il date_part() la funzione recupera sottocampi come l'anno, il mese, l'ora o il minuto, parte da un valore di data/ora.
È equivalente a extract() funzione, anche se con una sintassi leggermente diversa.
Sintassi
La funzione ha la seguente sintassi:
date_part('field', source) Dove:
'field'è per la parte della data che vuoi recuperare. Questo parametro deve essere un valore stringa, non un nome. Vedi sotto per un elenco di nomi di campo validi.sourceè un indicatore orario o un intervallo da cui vuoi recuperare la parte della data.
Esempio – Timestamp
Ecco un esempio di base per dimostrare come recuperare un campo da un timestamp .
SELECT date_part('hour', timestamp '2020-09-16 22:33:15'); Risultato:
22
Questo esempio recupera il campo dell'ora da un timestamp valore.
Eccolo di nuovo, ma questa volta recupero il campo dell'anno.
SELECT date_part('year', timestamp '2020-09-16 22:33:15'); Risultato:
2020
Esempio – Intervallo
In questo esempio, recupero una parte della data da un intervallo valore.
SELECT date_part('hour', interval '5 hours 30 minutes'); Risultato:
5
Nell'esempio successivo, la funzione restituisce correttamente il numero di ore, anche se fornisco solo il numero di minuti.
SELECT date_part('hour', interval '120 minutes'); Risultato:
2
Tuttavia, non contare su questa tecnica. Potresti scoprire che non sempre ottieni il risultato che ti aspetti.
Ad esempio:
SELECT date_part('hour', interval '100 minutes'); Risultato:
1
E un altro:
SELECT date_part('minute', interval '2 hours'); Risultato:
0
Nomi dei campi
Il primo argomento può essere uno dei seguenti:
centurydaydecadedowdoyepochhourisodowisoyearmicrosecondsmillenniummillisecondsminutemonthquartersecondtimezonetimezone_hourtimezone_minuteweekyear