PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come funziona date_part() in PostgreSQL

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