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

Fonction DBTIMEZONE dans Oracle

Dans Oracle Database, le DBTIMEZONE renvoie la valeur du fuseau horaire de la base de données.

Syntaxe

La syntaxe ressemble à ceci :

DBTIMEZONE

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

Exemple

Voici un exemple :

SELECT DBTIMEZONE
FROM DUAL;

Résultat :

+00:00

Dans ce cas, le fuseau horaire de la base de données est défini sur le fuseau horaire UTC.

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 le dernier CREATE DATABASE ou ALTER DATABASE déclaration.

Appeler DBTIMEZONE avec parenthèses

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

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

SELECT DBTIMEZONE()
FROM DUAL;

Résultat :

Error starting at line : 1 in command -
SELECT DBTIMEZONE()
FROM DUAL
Error at Command Line : 1 Column : 18
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 session

Le fuseau horaire de la base de données peut avoir ou non la même valeur que le fuseau horaire de la session en cours. 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 SESSIONTIMEZONE fonction pour obtenir le fuseau horaire de la session en cours.