Interrogeant l'Oracle d'HORODATAGE AVEC le FUSEAU horaire
J'ai une colonne dans une DB Oracle table est de type TIMESTAMP(6) WITH TIME ZONE
. Il y a des lignes de données avec des données de fuseaux horaires différents, certains UTC, certains dans d'autres décalage horaire.
Est-il une manière que je peux interroger l'Oracle de la table de sorte que les résultats reviennent toujours que l'UTC, avec le temps de déplacement soit fait? Est-il quelque chose qui peut être fait à la requête elle-même, ou peut-être modifier la session en quelque sorte? J'ai essayé de modifier la session fuseau horaire Utc, mais cela semble être la seule à l'impact de la CURRENT_TIMESTAMP valeur.
ALTER SESSION SET TIME_ZONE = 'Utc'
Par exemple, si une valeur est stockée en tant que:
21-JAN-10 03.28.38.635000000 PM -05:00
la requête de revenir en tant que
21-JAN-10 08.28.38.635000000 PM Utc
Exemple de définition de table de
CREATE TABLE "MyDb"."Books"
(
"GUID" RAW(32) DEFAULT SYS_GUID(),
"DATE_CREATED" TIMESTAMP (6) WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
);
OriginalL'auteur Stealth Rabbi | 2012-02-09
Vous devez vous connecter pour publier un commentaire.
Vous devriez être en mesure d'utiliser le
AT TIME ZONE
syntaxec'est à dire
Si la colonne a été
TIMESTAMP WITH LOCAL TIME ZONE
, la valeur devrait être implicitement converti à la session de la zone de temps qui pourrait être mis à l'UTC. UnTIMESTAMP WITH TIME ZONE
s'affiche tout le temps de la zone, il a été inséré à moins que vous le convertir avec quelque chose comme leAT TIME ZONE
de la syntaxe.OriginalL'auteur Justin Cave