Oracle
 sql >> Base de données >  >> RDS >> Oracle

Fonction SYSDATE dans Oracle

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.