oracle - 从纪元时间转换为日期 UTC+2 小时
问题描述
我正在尝试从 Oracle DB 表中提取数据,并且能够正确转换时间列,但是它应该是 -2 小时。
请记住,该StartTime
专栏是在 Epochtime 中。你能解释一下我的查询有什么问题吗?
列名是:
Description
,StartTime
select Description,
TO_CHAR(FROM_TZ(CAST(
DATE '1970-01-01' + (1/24/60/60/1000) * StartTime as TIMESTAMP),
'America/New-York'),
'DD-MM-YYYY HH24:MI:SS') as StartTime
from MyTable
我试图更改America/New-York
,但结果相同。
解决方案
这就是我解决问题的方法:
select TO_CHAR(FROM_TZ(CAST(DATE '1970-01-01' + (1/24/60/60/1000) * StartTime AS TIMESTAMP), 'UTC') AT TIME ZONE 'America/New_York', 'DD-MM-YYYY HH24:MI:SS') as StartTime
from MyTable
希望这会帮助别人。
推荐阅读
- python - 用于 Instagram 帖子的 CSS 选择器以及无法正常工作的评论
- html - Materialize - 自定义css没有效果
- angular - 将变量从 DOM 传递到 SCSS
- javascript - 使用 URLSearchParams 对象获取 - React
- nuxt.js - Nuxt:如何在生产中记录错误
- tcl - 在提示之前期待垃圾
- python - kivy中的网格布局格式
- css - 反应类名 - element.module.css + state.conditional
- xpath - 使用 normalize-space(text()) 找不到元素
- php - 尽管有缓存响应标头,但不可变缓存未命中