PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Fonctionnement de justification_jours() dans PostgreSQL

Dans PostgreSQL, le justify_days() La fonction vous permet d'ajuster un intervalle valeur, de sorte que les périodes de 30 jours soient représentées par des mois.

Par exemple, si vous avez un intervalle de, disons, 30 jours , justify_days() le renverra sous 1 mois .

Syntaxe

La fonction a la syntaxe suivante :

justify_days(interval)

interval est l'intervalle que vous souhaitez représenter en mois.

Exemple

Voici un exemple de base pour illustrer.

SELECT justify_days(interval '30 days');

Résultat :

1 mon

Mois partiels

Voici un exemple de ce qui se passe lorsque votre intervalle n'est pas un multiple exact de 30 jours.

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

Résultat (en utilisant la sortie verticale) :

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

Dans cet exemple, j'ai utilisé \x pour passer à l'affichage étendu, qui affiche les résultats à l'aide d'une sortie verticale. Cela facilite légèrement la lecture des résultats.

Moins d'un mois

Si l'intervalle est inférieur à 30 jours, il restera en jours.

SELECT justify_days(interval '29 days');

Résultat (en utilisant la sortie verticale) :

29 days

Y compris les minutes

Dans cet exemple, l'intervalle comprend une partie minutes.

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

Résultat (en utilisant la sortie verticale) :

1 mon 10 days 00:30:00

Donc, dans ce cas, nous nous retrouvons avec une valeur de temps ajoutée au résultat.