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:
century
day
decade
dow
doy
epoch
hour
isodow
isoyear
microseconds
millennium
milliseconds
minute
month
quarter
second
timezone
timezone_hour
timezone_minute
week
year