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

Come funziona giustifica_giorni() in PostgreSQL

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

Ad esempio, se hai un intervallo, diciamo, 30 giorni , justify_days() lo restituirà come 1 mese .

Sintassi

La funzione ha la seguente sintassi:

justify_days(interval)

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

Esempio

Ecco un esempio di base da dimostrare.

SELECT justify_days(interval '30 days');

Risultato:

1 mon

Mesi parziali

Ecco un esempio di cosa succede quando il tuo intervallo non è un multiplo esatto di 30 giorni.

\x
SELECT 
  justify_days(interval '31 days'),
  justify_days(interval '45 days'),
  justify_days(interval '290 days');

Risultato (usando l'output verticale):

justify_days | 1 mon 1 day
justify_days | 1 mon 15 days
justify_days | 9 mons 20 days

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 mese

Se l'intervallo è inferiore a 30 giorni, rimarrà in giorni.

SELECT justify_days(interval '29 days');

Risultato (usando l'output verticale):

29 days

Minuti inclusi

In questo esempio, l'intervallo include una parte dei minuti.

SELECT justify_days(interval '40 days 30 minutes');

Risultato (usando l'output verticale):

1 mon 10 days 00:30:00

Quindi, in questo caso, al risultato viene aggiunto un valore temporale.