Postgres ajoute des jours à ce jour

Postgres ajoute des jours à ce jour
PostgreSQL utilise un type de données de date pour stocker les valeurs sous forme de dates. Cet article mettra la lumière sur l'ajout de jours aux dates via différentes commandes dans PostgreSQL.

Nous utilisons simplement la commande SELECT avec ce mot-clé pour afficher la date actuelle. Le current_date est récupéré à partir du système où la base de données PostgreSQL est configurée. Donc, nous utiliserons cette commande pour voir la date pour l'instant. PostgreSQL suit un format standard de la date. C'est «yyyy-mm-dd».

>> sélectionnez current_date;

Maintenant, nous allons ajouter une seule journée à la date en cours. L'intervalle est un type de données qui manipule les données sous forme de jours, mois, semaines. etc. Ce faisant, l'horodatage affichera la date sans le fuseau horaire. Seul le format pour le temps s'affiche avec la date actuelle.

>> sélectionner current_date + interval '1 jour';

Comme nous l'avons mentionné ci-dessus, la date en cours est le 19 février, donc en plus d'une journée le jour en cours, il deviendra 20-02-2022.

De même, si nous ajoutons simplement des jours dans la date en cours sans utiliser le mot «interval» ne s'affichera que la date.

>> sélectionnez current_date + 4;

Ainsi, à partir de la valeur résultante, vous pouvez voir que seule la date après 4 jours s'affiche. Maintenant, si nous ajoutons l'intervalle de mot-clé dans la même commande ci-dessus, la valeur résultante sera à nouveau affichée avec le fuseau horaire.

Au lieu d'utiliser le mot-clé 'current_date', nous utiliserons directement la date à laquelle nous voulons ajouter des jours. Avec l'intervalle de mots clés, 7 jours seront ajoutés.

>> Sélectionnez '2002-06-27' :: Date + Interval '7 jours';

Cela ajoutera 7 jours au 27 juin. Ce faisant, le mois sera changé et se sera déplacé vers juillet.

Jusqu'à présent, nous avons vu le format de dates simples et l'ajout de jours à la date. Mais maintenant, nous verrons l'ajout de jours dans les dates présentes dans le tableau. Un tableau nommé 'Date_days' est créé avec les colonnes ayant des identifiants d'articles et les dates d'expiration du produit. La date est une fonctionnalité intégrée de PostgreSQL, nous suivrons donc le format de date lors de la saisie des données.

>> Créer la table DATE_DAYS (item_id Serial, Expiry_Date Date);

Après avoir créé le tableau, nous allons maintenant ajouter des données en insérant des lignes dans le tableau.

>> Insérer dans les valeurs date_days (expiry_date) ('2020-04-01'), ('2020-04-04'), ('2020-04-05'), ('2020-04-07'), (2020-04-05 '), (' 2020-04-07 '), (2020-04 «2020-04-08»), («20202-04-10»), («2020-04-11»), («20202-04-12»);

Après avoir inséré des données, vous pouvez voir qu'un message s'affiche que 8 lignes sont insérées dans le tableau. Nous n'avons pas entré IDS dans la colonne de Item_id, car les valeurs numériques sont générées automatiquement par le PostgreSQL.

Maintenant, nous verrons l'enregistrement de l'instruction SELECT.

>> sélectionnez * dans Date_days;

La colonne Expiry_Date sera modifiée en ajoutant des jours aux dates de chaque ligne. Nous avons appliqué une condition ici dans laquelle 10 jours seront ajoutés à ces dates d'expiration des produits qui se trouvent dans une gamme spécifique que nous avons utilisée dans la commande. Pour la modification, nous avons utilisé une commande de mise à jour; Le nom de colonne qui doit être affecté est mentionné après le mot clé «SET» dans la commande de mise à jour. De plus, une instruction SELECT est utilisée pour afficher tous les enregistrements du tableau pour voir la modification que nous avons appliquée.

>> Mise à jour DATE_DAYS SET Expiry_Date = Expiry_Date + Interval '10 Day 'où expirt_date entre' 2020-04-01 'et' 2020-04-07 ';
>> sélectionnez * dans Date_days;

D'après la valeur résultante, vous pouvez observer que, lors de l'exécution, les dates entre le premier avril 2020 au 7 avril 2020 seront affectées, et 10 jours seront ajoutés à leurs dates actuelles dans chaque ligne. Tandis que d'autres données ayant les expiry_dates en dessous du 1er avril et plus du 7 avril seront restées non affectées. Les ID de 5 à 8 seront affichés tels quels. Tandis que l'ID de 1 à 4 sera affiché avec l'ajout de 10 jours. Toutes ces lignes affectées par la commande seront affichées collectivement à la fin de la relation.

Ajouter les jours ouvrables à la date

Nous ajouterons les jours ouvrables à la date mentionnée dans la commande. PostgreSQL, fournissez cette installation pour ajouter directement les lignes spécifiées. Les jours ouvrables sont les jours ouvrables de la semaine du lundi au vendredi. Ce sont 5 jours par semaine.

Nous avons vu l'ajout de jours en utilisant le nombre de jours dans la commande, mais maintenant nous ajouterons des jours dans la date en utilisant les jours ouvrables.

avec Business_days comme
(Sélectionnez Date_d, Extrait (Dow From Date_d) Day_of_week
De Generate_Series ('2022-02-10' :: Date, '2022-02-27' :: Date, '4 jours' :: Interval) Date_d)
Sélectionnez Date_d + Interval '2 jours', day_of_week
De Business_Days
Où day_of_week pas dans (6,0);

Une table temporaire est créée à partir du code ci-dessus qui a deux colonnes Date_d, et day_of_week. En utilisant une fonction intégrée de Postgres, générant_series (), nous générerons des dates entre une gamme de deux dates. Et ces dates seront stockées dans la colonne Date_d.

Dans l'instruction SELECT de la clause, le jour d'une semaine est extrait en utilisant une fonction de fonction d'extrait (Dow de Date_D) de la colonne Date_d, puis ces dates extraites seront stockées dans l'autre colonne.

La deuxième instruction SELECT contient l'ajout avec l'intervalle de 2 jours, jour de la semaine de Business_Days. Nous avons appliqué un filtre ici pour récupérer la date de la colonne de date en ajoutant 2 à chaque date qui est un jour ouvrable. Et en utilisant une clause Where, qui affichera tous les jours sauf celles qui sont de 6 ou 0.

Maintenant, nous verrons la première colonne ayant des dates avec l'ajout de deux à chaque date. Comme nous l'avons commencé du 10-02-2022, alors ajoutez 2 dedans, il deviendra 12; C'est ce que la première ligne contient cette date. Là encore, un intervalle de 4 dates est appliqué, il est donc devenu 16 jusqu'à ce que la date 27 soit atteinte. Maintenant parler de la deuxième colonne qui est day_of_week qui affichera le numéro de jour de 1 à 5 pour afficher les jours ouvrables uniquement. Comme la date d'origine est de 10, donc le 10 février 2020, c'est jeudi, et selon la numérotation, c'est le 4ème jour de la semaine. Une logique similaire est appliquée aux lignes restantes.

Ajouter une journée en utilisant une fonction

Une fonction est créée pour ajouter des jours à la date. Cette fonction prendra les paramètres de l'intervalle de jours, new_date. Et il renvoie la date à l'appel de la fonction. La logique contient l'instruction SELECT qui montre le new_date et les jours qui doivent être ajoutés.

Maintenant, appelons la fonction.

>> sélectionnez * dans add_in_days (interval '3 jours', '2021-07-04' :: date);

Cela renverra la date d'ajout de 3 jours à la date fournie.

Conclusion

L'article contient la fonction de date, dans quels jours sont ajoutés aux dates spécifiées, soit les dates actuelles ou celles qui sont écrites par l'utilisateur manuellement. Nous avons également appliqué des commandes simples et également sur les tables. Cette fonctionnalité de PostgreSQL aide l'utilisateur à manipuler les données en modifiant les dates pour récupérer l'enregistrement d'une date particulière.