2017-08-15 212 views
-1

我必须将具有数据类型作为时间戳的列中的值与具有时区数据类型的时间戳的列进行比较。请告诉我如何将前数据类型转换为带时区的时间戳。我有查询是这样的:带时区时间戳的时间戳

SELECT * FROM TABLE1 WHERE COL1>= (SELECT COL2 FROM TABLE 2) 

其中COL1是TIMESTAMP和COL2是WITH TZ

TIMESTAMP样本值i COL2是:15-JUN-12 05.46.29.600102000 PM -07:00

回答

0

您可以使用CAST(COL1 as TIMESTAMP WITH TIME ZONE)

Oracle将当前用户会话时区SESSIONTIMEZONE考虑在内进行转换。比较本身始终在UTC值上进行。

如果你喜欢指定的时区,你可以FROM_TZ,例如FROM_TZ(COL1, 'Europe/Zurich')

+0

感谢它的工作 – zubi