如何在oracle中将时间转换为时区

如何在oracle中将时间转换为时区,oracle,timezone,Oracle,Timezone,我想知道如何在oracle中将当前时间转换为时区 我试过了,效果很好 SELECT (select tzname from qct_timezone_config tzc where gmtoffset = (select usr_time_zone from qct_user_token where resource_id = 11385)) AS TIMEZONE, TO_CHAR(CAST(SYSTIMESTAMP AS TIMESTAMP WITH TIME ZONE) A

我想知道如何在oracle中将当前时间转换为时区

我试过了,效果很好

SELECT (select tzname from qct_timezone_config tzc where gmtoffset = 
    (select usr_time_zone from qct_user_token where resource_id = 11385)) AS TIMEZONE,
  TO_CHAR(CAST(SYSTIMESTAMP AS TIMESTAMP WITH TIME ZONE) AT TIME ZONE
    (select tzname from qct_timezone_config tzc where gmtoffset = 
      (select usr_time_zone from qct_user_token where resource_id = 11385)),
    'DD-MON-RR HH:MI:SS.FF AM') AS USER_TIME
FROM dual

但我想知道的是,如果“2017年8月3日11.00.00 AM”的时间是从另一个系统发送的,我想将这个时间转换为一个特定的时区,以及如何重写这个查询。

您的查询中已经有了所有内容,要将时间戳转换为特定时区,您必须在时区使用时间戳,精确您希望转换的时区:

select systimestamp AT TIME ZONE 'America/Los_Angeles' "West Coast Time" from dual;

我不确定要完成什么,如果要将其转换为另一个时区,则要转换的时间戳需要包含一个时区。

哪个特定时区-您从qct\u timezone\u config获得的值?您是如何从另一个系统获取值的?是什么机制,以及作为什么数据类型?如果相关和预期结果,您还应该至少包括这些表中的一些示例数据。