如何将特定时区的 oracle 中的时间转换为数字格式



我的数据库以格林威治标准时间显示时间。

我可以通过执行以下操作将其中的小时和分钟部分转换为数字:

TO_NUMBER(TO_CHAR(CORE_UPDATE_TS, 'HH24MI'))

其中core_update_ts是从数据库接收的值。但是,我的要求是将core_update_ts转换为美国/Los_Angeles,然后将其更改为数字。

我无法完成此特定任务。当我这样做时,

to_number(to_char((from_tz(to_timestamp(to_char(CORE_UPDATE_TS, 'YYYY-MM-DD HH24:MI'),
'YYYY-MM-DD HH24:MI') ,'GMT') at time zone 'America/Los_Angeles'),'DD-MON-YYYY
HH24:MI'), 'HH24MI') i am getting error.

我该怎么做?

CORE_UPDATE_TS列的数据类型是什么?

如果是日期,则应将其转换为时间戳并简单地指定时区,然后提取。

cast(CORE_UPDATE_TS as timestamp) at time zone 'America/Los_Angeles'
to_char(cast(CORE_UPDATE_TS as timestamp) at time zone 'America/Los_Angeles','HH24MI')

如果是时间戳,只需指定时区。

CORE_UPDATE_TS at time zone 'America/Los_Angeles'
to_char(CORE_UPDATE_TS at time zone 'America/Los_Angeles','HH24MI')

相关内容

  • 没有找到相关文章

最新更新