【问题标题】:Convert Date datatype in oracle to UTC format using oracle query使用 oracle 查询将 oracle 中的日期数据类型转换为 UTC 格式
【发布时间】:2016-02-03 19:44:21
【问题描述】:

我在数据库表中有一个格式为“03-FEB-16”的日期列。 我想查询数据库以获取与该日期值等效的 UTC 格式:

这是我正在寻找的 UTC 格式 “2015-12-17T14:30:33Z”

【问题讨论】:

  • 列的数据类型是什么?
  • 我使用“SELECT cast(sentdate as timestamp) at time zone 'UTC' from table_name where id=22110626738”并得到这个输出“03-FEB-16 04.24.31.000000000 PM UTC”,但是这个不是我想要的。我想要“2015-12-17T14:30:33Z”
  • 这不是我的问题。我问“列的数据类型是什么?”
  • 抱歉,我把评论放错地方了。数据类型是 DATE。
  • 好的,这些日期值的时区是什么?

标签: sql oracle datetime utc


【解决方案1】:

试试这个:

SELECT TO_CHAR(cast(SYSDATE as timestamp) at time zone 'UTC', 'YYYY-MM-DD"T"HH24:MI:SS"Z"') FROM DUAL 

将 SYSDATE 更改为 SYSDATE-150 以测试一年中的不同时间

【讨论】:

    【解决方案2】:

    我想我找到了答案,但请随时发布替代方法。

    以下查询成功了:

    select to_char(sysdate,'YYYY-MM-DD')||'T'||to_char(sysdate,'HH24:MI:SS')||'Z' from dual
    

    【讨论】:

    • 你可以写select to_char(sysdate,'YYYY-MM-DD"T"HH24:MI:SS"Z"') from dual。但是,只有当您的数据库服务器操作系统在 UTC 时区运行时,这才是正确的。
    • 根据您的cmets中的信息,您的解决方案是正确的。
    猜你喜欢
    • 2021-05-19
    • 2012-02-07
    • 2021-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多