如何在oracle中转换时区? [英] How to convert time zones in oracle?

查看:103
本文介绍了如何在oracle中转换时区?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个来自peoplesoft时区的列表,需要使用From_TZ方法进行转换.时区的格式为EST,IST..etc.

I have a list from peoplesoft timezones which i need to convert using From_TZ method. The time zones will be in a format as EST,IST..etc.

select FROM_TZ (CAST ( (:dt) AS TIMESTAMP), 'EST')
          AT TIME ZONE 'IST' from dual

推荐答案

IST不起作用,因为它含糊不清,请参见下表:

IST does not work, because it is ambiguous, see this table:

SELECT tzabbrev, TZ_OFFSET(tzname), tzname  
FROM V$TIMEZONE_NAMES tz WHERE tzabbrev IN ('EST', 'IST')
ORDER BY 1,2,3;

TZABBREV    TZ_OFFSET(TZNAME)   TZNAME
EST +10:00  Australia/Brisbane
EST +10:00  Australia/Lindeman
EST +10:00  Australia/Queensland
EST +10:30  Australia/Broken_Hill
EST +10:30  Australia/Yancowinna
EST +11:00  Australia/ACT
EST +11:00  Australia/Canberra
EST +11:00  Australia/Hobart
EST +11:00  Australia/LHI
EST +11:00  Australia/Lord_Howe
EST +11:00  Australia/Melbourne
EST +11:00  Australia/NSW
EST +11:00  Australia/Sydney
EST +11:00  Australia/Tasmania
EST +11:00  Australia/Victoria
EST -05:00  America/Cayman
EST -05:00  America/Detroit
EST -05:00  America/Fort_Wayne
EST -05:00  America/Grand_Turk
EST -05:00  America/Indiana/Indianapolis
EST -05:00  America/Indiana/Marengo
EST -05:00  America/Indiana/Vevay
EST -05:00  America/Indianapolis
EST -05:00  America/Iqaluit
EST -05:00  America/Jamaica
EST -05:00  America/Kentucky/Louisville
EST -05:00  America/Louisville
EST -05:00  America/Montreal
EST -05:00  America/New_York
EST -05:00  America/Panama
EST -05:00  America/Thunder_Bay
EST -05:00  Canada/Eastern
EST -05:00  EST
EST -05:00  EST5EDT
EST -05:00  Jamaica
EST -05:00  US/East-Indiana
EST -05:00  US/Eastern
EST -05:00  US/Michigan
EST -06:00  America/Cancun
EST -06:00  America/Chicago
EST -06:00  America/Indiana/Knox
EST -06:00  America/Indiana/Petersburg
EST -06:00  America/Indiana/Vincennes
EST -06:00  America/Knox_IN
EST -06:00  America/Managua
EST -06:00  America/Rankin_Inlet
EST -06:00  CST
EST -06:00  US/Central
EST -06:00  US/Indiana-Starke
EST -07:00  America/Cambridge_Bay
IST +00:00  Atlantic/Reykjavik
IST +00:00  Eire
IST +00:00  Europe/Belfast
IST +00:00  Europe/Dublin
IST +00:00  Iceland
IST +02:00  Asia/Gaza
IST +02:00  Asia/Jerusalem
IST +02:00  Asia/Tel_Aviv
IST +02:00  Israel
IST +05:00  Asia/Karachi
IST +05:30  Asia/Calcutta
IST +06:00  Asia/Dacca
IST +06:00  Asia/Dhaka

您只能将时区缩写用于以下时区:

You can use the timezone abbreviation only for following timezones:

SELECT tzabbrev, tzname, TZ_OFFSET(tzname) 
FROM V$TIMEZONE_NAMES tz 
WHERE tzabbrev = tzname;

TZABBREV    TZNAME  TZ_OFFSET(TZNAME)
CET CET +01:00
CST CST -06:00
EET EET +02:00
EST EST -05:00
GMT GMT +00:00
HST HST -10:00
MET MET +01:00
MST MST -07:00
PST PST -08:00
WET WET +00:00

重要说明:当使用时区缩写(如EST)时,您将不会获得任何夏令时值!

Important note: When you use the timezone abbreviation like EST then you don't get any Daylight-Saving-Time values!

这篇关于如何在oracle中转换时区?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆