Sql 在Oracle中显示与时间戳关联的时区

Sql 在Oracle中显示与时间戳关联的时区,sql,oracle,Sql,Oracle,Oracle表中的CRT_TMSTMP字段是时间戳类型的字段 我希望确定与此字段值关联的时区,因为它不会显示在我的SQL Developer客户端中 根据我的研究,似乎_char()还不够,所以我想知道如何在查询中显示这个时区?a不包含任何时区信息。文档中说“它包含小数秒,但没有时区”,但它似乎隐含在与数据库服务器相同的时区中 您需要将列设置为或来存储和检索链接到该值的时区 如果您确实有这些类型之一的列,则可以使用(或TZD,TZH和/或TZM): 但是如果您尝试使用一个普通的时间戳,它只会报告

Oracle表中的CRT_TMSTMP字段是时间戳类型的字段

我希望确定与此字段值关联的时区,因为它不会显示在我的SQL Developer客户端中

根据我的研究,似乎_char()还不够,所以我想知道如何在查询中显示这个时区?

a不包含任何时区信息。文档中说“它包含小数秒,但没有时区”,但它似乎隐含在与数据库服务器相同的时区中

您需要将列设置为或来存储和检索链接到该值的时区

如果您确实有这些类型之一的列,则可以使用(或
TZD
TZH
和/或
TZM
):

但是如果您尝试使用一个普通的
时间戳
,它只会报告服务器时区。(我认为这是错误的,但显然不是)

作为演示:

create table t42 (CRT_TMSTMP timestamp,
  CRT_TMSTMP_TZ timestamp with time zone,
  CRT_TMSTMP_LTZ timestamp with local time zone);

insert into t42 values (current_timestamp,
  current_timestamp at time zone 'AMERICA/NEW_YORK',
  current_timestamp at time zone 'AMERICA/LOS_ANGELES');

select to_char(CRT_TMSTMP, 'YYYY-MM-DD HH24:MI:SS.FF3 TZR') as ts,
  to_char(CRT_TMSTMP_TZ, 'YYYY-MM-DD HH24:MI:SS.FF3 TZR') as ts_tz,
  to_char(CRT_TMSTMP_LTZ, 'YYYY-MM-DD HH24:MI:SS.FF3 TZR') as ts_ltz
from t42;

TS                                                             TS_TZ                                                          TS_LTZ                                                       
-------------------------------------------------------------- -------------------------------------------------------------- --------------------------------------------------------------
2014-07-17 17:09:36.673 +00:00                                 2014-07-17 12:09:36.673 AMERICA/NEW_YORK                       2014-07-17 17:09:36.673 EUROPE/LONDON                          

create table t42 (CRT_TMSTMP timestamp,
  CRT_TMSTMP_TZ timestamp with time zone,
  CRT_TMSTMP_LTZ timestamp with local time zone);

insert into t42 values (current_timestamp,
  current_timestamp at time zone 'AMERICA/NEW_YORK',
  current_timestamp at time zone 'AMERICA/LOS_ANGELES');

select to_char(CRT_TMSTMP, 'YYYY-MM-DD HH24:MI:SS.FF3 TZR') as ts,
  to_char(CRT_TMSTMP_TZ, 'YYYY-MM-DD HH24:MI:SS.FF3 TZR') as ts_tz,
  to_char(CRT_TMSTMP_LTZ, 'YYYY-MM-DD HH24:MI:SS.FF3 TZR') as ts_ltz
from t42;

TS                                                             TS_TZ                                                          TS_LTZ                                                       
-------------------------------------------------------------- -------------------------------------------------------------- --------------------------------------------------------------
2014-07-17 17:09:36.673 +00:00                                 2014-07-17 12:09:36.673 AMERICA/NEW_YORK                       2014-07-17 17:09:36.673 EUROPE/LONDON