需要在 oracle 中将任何时区转换为 GMT 时区
Posted
技术标签:
【中文标题】需要在 oracle 中将任何时区转换为 GMT 时区【英文标题】:Need to convert any timezone to GMT time zone in oracle 【发布时间】:2019-11-05 06:27:09 【问题描述】:查询条件如下:
creation_date >=last_success_run_date
此处的创建日期类似于某个时间 PDT(太平洋夏令时间)或某个时间 PST(太平洋标准时间)格式。
并且 last_success_run_date 始终是 GMT 格式。
所以,我想知道是否有任何可用的 oracle 函数可以将任何时区格式转换为 GMT 时区格式。
【问题讨论】:
【参考方案1】:试试这个:
FROM_TZ(creation_date, 'America/Los_Angeles') AT TIME ZONE 'UTC'
或
SYS_EXTRACT_UTC(FROM_TZ(creation_date, 'America/Los_Angeles'))
如果creation_date
是DATE
而不是TIMESTAMP
数据类型,那么您必须使用CAST(creation_date AS TIMESTAMP)
,因为FROM_TZ
仅接受TIMESTAMP
数据类型作为输入值。
【讨论】:
【参考方案2】:使用new_time()
函数将timezone1中的日期转换为timezone2中的日期。
NEW_TIME(date, timezone1, timezone2)
NEW_TIME(date, 'PDT', 'GMT')
【讨论】:
我们不能在这里使用 new_time 函数,因为我们不知道时间格式是 PST 还是 PDT @send that in parameter以上是关于需要在 oracle 中将任何时区转换为 GMT 时区的主要内容,如果未能解决你的问题,请参考以下文章
如何将“GMT + 5.5_(INDIA)”转换为时区“Asia / Kolkata”