Oracle中的默认毫秒数为0

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle中的默认毫秒数为0相关的知识,希望对你有一定的参考价值。

我在Oracle中有一个时间戳列,格式为'MM / DD / YYYY HH24:MI.SxFF6'。数据如下所示:

11/09/1917 10:45:28.230000
10/19/2014 18:09:28.410000
12/19/2011 11:06:28.340000

我需要时间戳来保留值,除了获得需要默认为000000的毫秒。我试过查询 -

cast(to_char(Local_time, 'MM/DD/YYYY HH24:MI:SS') as timestamp(6))

但它正在抛出错误 - "Not valid month"

有没有人对我可以尝试获得毫秒到0的任何想法。我使用Toad查询表。

答案

您的TIMESTAMP值没有任何格式。您拥有的只是默认显示格式 - 由当前用户NLS_TIMESTAMP_FORMAT设置定义。

试试这个:

CAST(Local_time AS TIMESTAMP(0))

如果你想截断毫秒,但仍然可以使用它们

CAST(CAST(Local_time AS TIMESTAMP(0)) AS TIMESTAMP(6))
另一答案

也许是这样的事情?

SQL> create table test (col timestamp, result timestamp);

Table created.

SQL> insert into test (col) values (to_timestamp('11/09/1917 15:45:28.230000', 'MM/DD/YYYY HH24:MI:SS.FF6'));

1 row created.

SQL> update test set result = cast(col as date);

1 row updated.

SQL> select * From test;

COL                       RESULT
------------------------- -------------------------
09.11.17 15:45:28,230000  09.11.17 15:45:28,000000

SQL>

以上是关于Oracle中的默认毫秒数为0的主要内容,如果未能解决你的问题,请参考以下文章

Sleep() 方法后的代码片段没有被执行

测量代码执行时间

以毫秒为单位读取 python 中的 wav

js常用代码片段(更新中)

Java多线程之线程池

HTMLTestRunner生成的测试报告中的执行用例条数为0,成功数为0,失败数为0