Fuseau horaire conversion dans la requête SQL
Je suis l'aide d'une requête pour obtenir une certaine application de la Date de réception de la bd Oracle qui est stocké comme GMT. Maintenant, je dois convertir ce standard est/heure d'été lors de la récupération.
Je suis l'aide de la requête ci-dessous pour ceci:
select to_char (new_time(application_recv_date,'gmt','est'), 'MON dd, YYYY') from application
Il fonctionne très bien pour le Standard. Mais pour l'heure nous avons besoin de convertir en " hae " basée sur le fuseau horaire de l'info. Je ne suis pas très sûr de la manière de le faire. Merci de m'aider
Pour ce base de données est-ce? Pas toutes les bases de données en utilisant SQL prend en charge les mêmes façons de traiter avec les fuseaux horaires.... veuillez mettre à jour vos étiquettes avec les info -
Désolé raté..mis à Jour maintenant (Oracle)
oracle
, sql-server
, mysql
, postgres
ou ce que vous utilisez!Désolé raté..mis à Jour maintenant (Oracle)
OriginalL'auteur satyanarayana | 2014-04-08
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser cette requête, sans avoir à vous soucier des changements de fuseau horaire.
Ex:
EDT:
EST:
Mise à JOUR:
Merci à Alex Poole pour rappeler que, lorsque le fuseau horaire n'est pas spécifié, fuseau horaire local est utilisé pour la conversion.
À la force de la date à être reconnu comme GMT, l'utilisation from_tz.
select cast(date'2014-12-08' as timestamp) d1, new_time( cast(date'2014-12-08' as timestamp) ,'gmt','edt') d2, cast(date'2014-12-08' as timestamp) at time zone 'US/Eastern' d3 from dual
D1 ==> 08-DÉC-14 12.00.00.000000000 SUIS D2 ==> 07-DEC-2014 20:00:00 D3 ==> 07-DÉC-14 01.30.00.000000000 PM US/EASTERNest la conversion de GMT à l'EDT, qui est une heure de EatÂPeach l'exemple, car il ne devrait pas être dans la lumière du jour d'épargne en décembre - à l'aide de HNE, mais il est plus facile et plus sûr d'utiliser des régions.
d3
est comverting de votre fuseau horaire local, pas de GMT.Poole - je vous Remercie beaucoup pour me laisser savoir que j'ai été la conversion du fuseau horaire local plutôt que l'heure GMT.
si votre source de données est vraiment GMT, pas de royaume-UNI (GMT/BST), alors vous pouvez le forcer à être reconnu comme:
select from_tz(cast(application_recv_date as timestamp), 'GMT') at time zone 'US/Eastern' from ...
.oui. Je n'ai que
OriginalL'auteur Noel
Dans Oracle, vous pouvez réaliser cela avec ci-dessous la requête:
Où
Australia/Sydney
est le nom de votre fuseau horaire dans lequel vous souhaitez convertir votre temps.OriginalL'auteur Jitender Kumar