sql 时间偏移

sql time offset

sql 的新手,正在学习时间偏移并面对一大堆复杂的信息。我有的是

Table: 测试历史

Columns: start_time( timestamp)
         end_time   (timestamp)

我必须显示这些测试的时间,并用时间偏移显示其他 2 个时区的时间。 我看到这样的信息:

 ALTER SESSION SET TIME_ZONE = '-8:0';

但是我是如何具体谈论这些专栏的呢? 是这样的吗?

select start_time
from test_history
ALTER SESSION SET TIME_ZONE = '-8:0';

鉴于您从 timestamp 开始,您可以尝试:

 SELECT from_tz(start_date,'+01:00') at TIME ZONE '-07:00' from myTable;

该示例假定您的 Oracle 数据库设置为使用等于 +01:00 (GMT+1) 的本地时区(使用 select DBTIMEZONE from dual; 进行检查):

另一种方法是在执行查询之前更改时区;:

ALTER SESSION SET TIME_ZONE='-07:00';
SELECT start_date from myTable;