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

Come funziona justify_hours() in PostgreSQL

In PostgreSQL, il justify_hours() la funzione ti consente di regolare un intervallo valore, in modo che i periodi di 24 ore siano rappresentati come giorni.

Ad esempio, se hai un intervallo, diciamo, 24 ore justify_hours() lo restituirà come 1 giorno .

Sintassi

La funzione ha la seguente sintassi:

justify_hours(interval)

Dove interval è l'intervallo che vuoi rappresentare in giorni.

Esempio

Ecco un esempio di base da dimostrare.

SELECT justify_hours(interval '24 hours');

Risultato:

1 day

Giorni parziali

Ecco un esempio di cosa succede quando il tuo intervallo non è un multiplo esatto di 24 ore

\x
SELECT 
  justify_hours(interval '30 hours'),
  justify_hours(interval '300 hours'),
  justify_hours(interval '3000 hours'),
  justify_hours(interval '3.53 months');

Risultato (usando l'output verticale):

justify_hours | 1 day 06:00:00
justify_hours | 12 days 12:00:00
justify_hours | 125 days
justify_hours | 3 mons 15 days 21:36:00

Si noti che quando si fornisce l'intervallo in mesi, il risultato è rappresentato in termini di mesi e giorni, anziché solo di giorni.

In questo esempio ho usato \x per passare alla visualizzazione espansa, che visualizza i risultati utilizzando l'output verticale. Ciò semplifica leggermente la lettura dei risultati.

Meno di un giorno

Se l'intervallo è inferiore a 24 ore, rimane in ore.

SELECT justify_hours(interval '15 hours');

Risultato (usando l'output verticale):

15:00:00