SYSDATE |
Date système |
|---|---|
| Oracle Database SQL | Oracle version 6 ou supérieure |
Syntaxe
| sysdate |
Description
Cette fonction retourne la date du système de la base de données.
Remarques
- Fonction de base très utilisée : La fonction SYSDATE renvoie la date et l'heure actuelles du système sur lequel la base Oracle est installée. Elle est essentielle pour obtenir des horodatages précis lors de l'exécution d'une requête SQL.
- Disponibilité historique : SYSDATE est disponible depuis Oracle version 6 ou même avant, ce qui en fait une des fonctions les plus anciennes et fondamentales du langage SQL Oracle, utilisée dans quasiment toutes les applications Oracle.
- Retourne une valeur de type DATE : La valeur retournée par SYSDATE est de type DATE, incluant à la fois la date (jour, mois, année) et l'heure (heures, minutes, secondes), ce qui permet une précision jusqu'à la seconde.
- Valeur fixe pendant l'exécution d'une requête : Lors d'une exécution de requête, la valeur retournée par SYSDATE est constante, même si la requête s'exécute plusieurs secondes ou minutes, garantissant une cohérence temporelle durant la transaction.
- Basée sur l'horloge serveur : SYSDATE reflète l'horloge du serveur de base de données, pas celle du client. Par conséquent, la date et l'heure peuvent différer selon l'emplacement géographique ou la configuration horaire du serveur.
- Utilisation fréquente pour horodatage : Elle est largement utilisée pour enregistrer la date et l'heure d'insertion ou de mise à jour des enregistrements, en combinaison avec des déclencheurs ou des colonnes par défaut.
- Limitation sur la précision : La fonction SYSDATE ne fournit pas de précision supérieure à la seconde. Pour des besoins en précision plus fine (par exemple millisecondes), Oracle propose la fonction SYSTIMESTAMP.
- Différence avec CURRENT_DATE : Contrairement à CURRENT_DATE renvoyant la date/heure du fuseau horaire du client, SYSDATE est liée au fuseau horaire du serveur, ce qui peut avoir un impact sur les applications distribuées.
- Pas de parenthèses obligatoires : La syntaxe SYSDATE s'utilise sans parenthèses, ce qui est inhabituel pour une fonction. Cela le rapproche plus d'une pseudo-colonne ou d'une variable système.
- Compatibilité avec les expressions temporelles : On peut utiliser SYSDATE dans des expressions arithmétiques sur les dates, par exemple SYSDATE - 7 pour obtenir la date une semaine avant, facilitant ainsi les calculs temporels.
- Utilisation dans les clauses WHERE : Elle est souvent utilisée dans les filtres WHERE pour extraire des enregistrements en fonction de la date actuelle, comme les enregistrements récents ou les données expirées.
- Influence sur la performance : L'appel à SYSDATE est très rapide car il s'agit d'une fonction interne simple. Elle n'engendre pas de surcharge significative sur les performances des requêtes, même lorsqu'elle est utilisée fréquemment.
Exemple
Voici un exemple retournant la date courante :
Et les informations vous seront retourner sous la forme suivante si vous êtes le 2011-10-04 :
| SYSDATE |
| 04/10/11 |
Voir également
Langage de programmation - MySQL - Référence de fonctions - «CURDATE»
Article - Les géants de l'informatique - Oracle
Dernière mise à jour : Lundi, le 11 mai 2015