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

Fonction SESSIONTIMEZONE dans Oracle

Dans Oracle Database, le SESSIONTIMEZONE renvoie le fuseau horaire de la session en cours.

Syntaxe

La syntaxe ressemble à ceci :

SESSIONTIMEZONE

Ainsi, aucun argument n'est requis (ou accepté), et il n'y a pas de parenthèses.

Exemple

Voici un exemple :

SELECT SESSIONTIMEZONE
FROM DUAL;

Résultat :

Australia/Brisbane

Le type de retour est un décalage de fuseau horaire (un type de caractère au format '[+|-]TZH:TZM' ) ou un nom de région de fuseau horaire, selon la manière dont la valeur du fuseau horaire de la base de données a été spécifiée dans la dernière ALTER SESSION déclaration.

Appelant SESSIONTIMEZONE avec parenthèses

Comme mentionné, le SESSIONTIMEZONE la fonction est appelée sans parenthèses.

Voici ce qui se passe lorsque nous l'appelons avec des parenthèses :

SELECT SESSIONTIMEZONE()
FROM DUAL;

Résultat :

Error starting at line : 1 in command -
SELECT SESSIONTIMEZONE()
FROM DUAL
Error at Command Line : 1 Column : 23
Error report -
SQL Error: ORA-00923: FROM keyword not found where expected
00923. 00000 -  "FROM keyword not found where expected"
*Cause:    
*Action:

Obtenir le fuseau horaire de la base de données

Le fuseau horaire de la session en cours peut avoir ou non la même valeur que le fuseau horaire de la base de données. Cela dépend de votre configuration et ils peuvent tous deux être modifiés indépendamment l'un de l'autre.

Vous pouvez utiliser le DBTIMEZONE fonction pour obtenir le fuseau horaire de la base de données.