-4

有 varchar 列可能包含此示例(仅 3 个变体值):2013 年 10 月 15 日 | 15/10/2013 | 2013-10-15 需要更新列值并设置适当的毫秒值:1381723200000。无需更改列类型。

4

1 回答 1

0

甲骨文观点:

如果您想从 YYYY-DD-MM 格式或其他格式的字符串中提取毫秒(没有毫秒)

SELECT
     TO_CHAR( TO_TIMESTAMP ( '2013-10-15',
                  'YYYY-MM-DD' ),'FF9')
FROM
      DUAL; 

将始终在 Oracle 中为您提供 000000000,因为您的字符串中没有存储毫秒值。

但是,如果您想将日期转换为毫秒,那么

从什么时候开始的毫秒???

SELECT
     ( TO_DATE ( '2013-10-16', 
              'YYYY-MM-DD' ) -- starting date
      - TO_DATE ( '2013-10-15',
              'YYYY-MM-DD' )) -- ending date
              *24*60*60*1000 -- milliseconds multiplication factor
FROM
      DUAL;
于 2013-10-15T14:48:12.467 回答