是否有简单的代码将给定的日期/时间转换为时差,还应考虑DST?我有日期时间值(以UTC为单位)和要转换的时区。
我知道这可以通过创建存储过程或函数来完成,但是只需检查是否有更简单的方法即可。
答案 0 :(得分:1)
使用:
case
将order by sign(qty) desc, price desc
数据类型转换为CAST( date_column AS TIMESTAMP )
数据类型; DATE
在TIMESTAMP
时区将FROM_TZ( timestamp_column, 'UTC' )
数据类型转换为TIMESTAMP
数据类型。TIMESTAMP WITH TIME ZONE
将UTC
数据类型从一个时区转换为另一个时区。将它们放在一起:
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