Dans Oracle Database, le SYSDATE La fonction renvoie la date et l'heure actuelles définies pour le système d'exploitation sur lequel réside le serveur de base de données.
La valeur retournée est de type DATE .
Syntaxe
La syntaxe ressemble à ceci :
SYSDATE Ainsi, aucun argument n'est requis (ou accepté), et il n'y a pas de parenthèses.
Exemple
Voici un exemple :
SELECT SYSDATE
FROM DUAL; Résultat :
06/AUG/21
Cet exemple affiche la date en fonction de la valeur du NLS_DATE_FORMAT de mon système paramètre (qui est actuellement DD/MON/RR ). Nous pouvons changer ce paramètre, ou utiliser une fonction comme TO_CHAR() pour renvoyer le résultat dans un format différent.
Exemple :
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD')
FROM DUAL; Résultat :
2021-08-06
Appeler SYSDATE avec parenthèses
Comme mentionné, le SYSDATE la fonction est appelée sans parenthèses.
Voici ce qui se passe lorsque nous l'appelons avec des parenthèses :
SELECT SYSDATE()
FROM DUAL; Résultat :
Error starting at line : 1 in command - SELECT SYSDATE() FROM DUAL Error at Command Line : 1 Column : 15 Error report - SQL Error: ORA-00923: FROM keyword not found where expected 00923. 00000 - "FROM keyword not found where expected" *Cause: *Action:
Correction du SYSDATE Valeur de retour
Le FIXED_DATE Le paramètre d'initialisation vous permet de définir une date et une heure constantes que SYSDATE reviendra toujours à la place de la date et de l'heure actuelles.
Cela peut aider dans les situations de test lorsque vous avez besoin des mêmes données d'entrée pour produire le même résultat de manière cohérente.
Voir la documentation d'Oracle pour FIXED_DATE ainsi que les paramètres d'initialisation en général pour plus d'informations.