将Candletime转换为Oracle日期时间

时间:2018-07-12 11:03:05

标签: oracle

我想将Candletime转换为oracle日期时间。我正在使用以下查询,但并没有给我几分钟的时间。

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为基础)

需要帮助!

1 个答案:

答案 0 :(得分:1)

SQL Fiddle

Oracle 11g R2架构设置

\(.+

查询1

SELECT 1 FROM DUAL;

Results

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