【问题标题】:Converting candletime to oracle date time将烛光时间转换为预言机日期时间
【发布时间】:2018-07-12 11:03:05
【问题描述】:

我想将烛光时间转换为预言机日期时间。我正在使用以下查询,但它没有给我分钟。

select (TO_DATE(SUBSTR (1180723052113000, 2, 12),'YY/MM/DD HH:MI:SS')) from dual;

1180723052113000 是烛光时间值示例,这意味着 烛光时间格式 = CYYMMddhhmmssSSS 在哪里 C - 世纪,YY - 年,MM - 月,dd - 日,hh - 小时,mm - 分钟,ss - 秒,SSS - 毫秒 CYY - (添加到 1900 作为蜡烛时间假设 1900 作为基础)

在这里需要帮助!

【问题讨论】:

  • 我从未听说过 Candletime。有链接吗?

标签: oracle


【解决方案1】:

SQL Fiddle

Oracle 11g R2 架构设置

SELECT 1 FROM DUAL;

查询 1

WITH test_data ( candletime ) AS (
  SELECT '1180723052113000' FROM DUAL UNION ALL
  SELECT '0180723052113000' FROM DUAL UNION ALL
  SELECT '0000228010203456' FROM DUAL UNION ALL
  SELECT '1000229010203456' FROM DUAL
)
SELECT TO_TIMESTAMP(
         TO_CHAR(19 + SUBSTR( candletime, 1, 1 ), '00' )
         || SUBSTR( candletime, 2),
         'YYYYMMDDHH24MISSFF3'
       ) AS converted_time
FROM   test_data

Results

|          CONVERTED_TIME |
|-------------------------|
|   2018-07-23 05:21:13.0 |
|   1918-07-23 05:21:13.0 |
| 1900-02-28 01:02:03.456 |
| 2000-02-29 01:02:03.456 |

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-20
    • 1970-01-01
    • 1970-01-01
    • 2017-08-29
    • 2011-07-05
    相关资源
    最近更新 更多