PostgreSQL CURRENT_DATE
Les fonctions de date de PostgreSQL vous permettent de manipuler et d'extraire des valeurs de date de manière efficace. La fonction `CURRENT_DATE`, en particulier, renvoie la date actuelle en fonction du fuseau horaire et de l'horloge du système.
Utilisation
La fonction `CURRENT_DATE` est utilisée pour obtenir la date courante dans une base de données PostgreSQL. Elle est souvent utilisée dans les requêtes qui doivent filtrer, comparer ou mettre à jour des enregistrements en fonction de la date du jour.
SELECT CURRENT_DATE;
Dans cette syntaxe, `CURRENT_DATE` récupère la date actuelle du serveur de base de données. Notez que `CURRENT_DATE` est équivalent à `CURRENT_DATE::date` et n'inclut pas la composante temporelle, ce qui est important lorsque l'on compare des dates avec des timestamps.
Exemples
1. Récupérer la date du jour
SELECT CURRENT_DATE;
Cette requête simple renvoie la date actuelle de l'horloge système de la base de données, généralement au format "AAAA-MM-JJ".
2. Filtrer les données avec CURRENT_DATE
SELECT order_id, order_date
FROM orders
WHERE order_date = CURRENT_DATE;
Cette requête permet de récupérer les commandes passées à la date du jour, filtrant ainsi les résultats pour n'afficher que les commandes du jour.
3. Calcul de l'âge
SELECT name, birth_date, CURRENT_DATE - birth_date AS age
FROM employees;
Dans cet exemple, la requête calcule l'âge des employés en soustrayant leur date de naissance de la date actuelle.
Conseils et bonnes pratiques
- Utilisez CURRENT_DATE pour la normalisation. Elle assure la cohérence des requêtes qui doivent faire référence à la date du jour.
- Combinez avec les fuseaux horaires. Tenez compte des fuseaux horaires pour éviter les divergences, en particulier dans les systèmes distribués. Les résultats de `CURRENT_DATE` dépendent des paramètres du fuseau horaire du serveur de base de données.
- Utiliser pour les comparaisons de dates. Utilisez `CURRENT_DATE` pour filtrer les enregistrements dynamiquement sur la base de la date actuelle pour une analyse des données en temps réel.
- Tirez parti de l'automatisation. Mettez en œuvre le paramètre `CURRENT_DATE` dans les rapports automatisés ou les mises à jour de données afin de vous assurer qu'ils reflètent toujours les données les plus récentes.
- Comportement de la transaction. `CURRENT_DATE` est évalué au début d'une transaction et reste constant pendant toute sa durée. Cela peut s'avérer particulièrement utile pour les utilisateurs travaillant sur des transactions de longue durée.