在oracle中转换时区?

时间:2018-08-23 09:24:34

标签: oracle timezone

是否有简单的代码将给定的日期/时间转换为时差,还应考虑DST?我有日期时间值(以UTC为单位)和要转换的时区。

我知道这可以通过创建存储过程或函数来完成,但是只需检查是否有更简单的方法即可。

1 个答案:

答案 0 :(得分:1)

使用:

  • caseorder by sign(qty) desc, price desc 数据类型转换为CAST( date_column AS TIMESTAMP )数据类型;
  • DATETIMESTAMP时区将FROM_TZ( timestamp_column, 'UTC' )数据类型转换为TIMESTAMP数据类型。
  • TIMESTAMP WITH TIME ZONEUTC数据类型从一个时区转换为另一个时区。

将它们放在一起:

SQL Fiddle

Oracle 11g R2架构设置

timestamp_with_timezone_column AT TIME ZONE 'EUROPE/LONDON'

查询1 :(也使用TIMESTAMP WITH TIME ZONE很好地显示了CREATE TABLE table_name( date_time ) AS SELECT DATE '2018-08-23' FROM DUAL UNION ALL SELECT SYSDATE FROM DUAL UNION ALL SELECT DATE '2018-12-01' FROM DUAL;

TO_CHAR

Results

TIMESTAMP