Accéder au contenu principal
Documents
Gestion des tableaux et des schémasSyntaxe de baseDéclencheursBases de donnéesFonctions de la dateFonctions des chaînes de caractèresFonctions mathématiquesFonctions JSONIndexes

Arithmétique DATE de PostgreSQL (-)

Les fonctions arithmétiques DATE de PostgreSQL vous permettent d'effectuer des calculs avec des valeurs de date, comme la différence entre deux dates. Cette fonctionnalité est essentielle pour l'analyse des intervalles de temps, la planification et les rapports temporels.

Utilisation

La fonction arithmétique DATE est utilisée lorsque vous devez calculer la différence entre deux dates ou soustraire un intervalle d'une date. Lorsque deux dates sont soustraites, le résultat est un intervalle, plus précisément en jours. Cette opération est souvent utilisée dans des scénarios tels que le calcul de l'âge, de la durée ou de la planification des tâches.

SELECT date1 - date2 AS interval_result;

Dans cette syntaxe, date1 et date2 sont des valeurs de date, et l'opération de soustraction - calcule l'intervalle qui les sépare.

Exemples

1. Soustraction de base de dates

SELECT '2023-10-10'::date - '2023-10-01'::date AS days_difference;

Cet exemple calcule le nombre de jours entre le 10 octobre 2023 et le 1er octobre 2023, ce qui donne une différence de 9 jours.

2. Soustraction d'un intervalle

SELECT '2023-10-10'::date - INTERVAL '3 days' AS new_date;

Ici, l'opération soustrait 3 jours au 10 octobre 2023, ce qui donne la nouvelle date du 7 octobre 2023.

3. Calcul de l'âge à partir de la date de naissance

SELECT CURRENT_DATE - birth_date AS age_in_days FROM users;

Cet exemple calcule l'âge en jours de chaque utilisateur du tableau users en soustrayant birth_date de la date actuelle.

Conseils et bonnes pratiques

  • Veillez à ce que les types de données soient corrects. Pour des calculs précis, il convient de toujours convertir les chaînes de caractères en type date en utilisant explicitement ::date.
  • Comprendre les intervalles. Un intervalle représente une période de temps et peut être utilisé pour soustraire des durées spécifiques, telles que des jours, des mois ou des années, afin de garantir la clarté et la facilité de maintenance.
  • Optez pour CURRENT_DATE. Utilisez CURRENT_DATE pour les calculs impliquant la date du jour afin de vous assurer que vos requêtes sont dynamiques et à jour.
  • Connaissez vos types de données. Soyez attentif aux différences entre date, timestamp et timestamp with time zone pour éviter toute confusion, car seul timestamp with time zone tient compte des fuseaux horaires.