Oracle 11g和毫秒精度的存储时间

Oracle 11g和毫秒精度的存储时间,oracle,oracle11g,Oracle,Oracle11g,我想创建一个数据库与统计有关摩托车大奖赛,我想存储的时间从最快的圈数和其他。我需要存储一个时间,比如分:秒:毫秒。。。我该怎么做 谢谢您可以使用时间戳类型。它以高达纳秒的精度存储时间(默认值为微秒) 看 选择一个虚拟年份和日期: select to_timestamp('00/01/01 01:02:03.123456', 'YY/MM/DD HH24:MI:SS.FF') from dual; 或者您也可以使用间隔类型: SQL> create

我想创建一个数据库与统计有关摩托车大奖赛,我想存储的时间从最快的圈数和其他。我需要存储一个时间,比如分:秒:毫秒。。。我该怎么做


谢谢

您可以使用
时间戳
类型。它以高达纳秒的精度存储时间(默认值为微秒)

选择一个虚拟年份和日期:

select to_timestamp('00/01/01 01:02:03.123456', 
                    'YY/MM/DD HH24:MI:SS.FF') from dual;
或者您也可以使用
间隔
类型:

SQL> create table foo (a interval day to second);       
Table created.
SQL> insert into foo values (to_dsinterval('0 01:02:03.123456'));
1 row created.
SQL> select * from foo;

A
---------------------------------------------------------------------------
+00 01:02:03.123456

您可以使用
时间戳
类型。它以高达纳秒的精度存储时间(默认值为微秒)

选择一个虚拟年份和日期:

select to_timestamp('00/01/01 01:02:03.123456', 
                    'YY/MM/DD HH24:MI:SS.FF') from dual;
或者您也可以使用
间隔
类型:

SQL> create table foo (a interval day to second);       
Table created.
SQL> insert into foo values (to_dsinterval('0 01:02:03.123456'));
1 row created.
SQL> select * from foo;

A
---------------------------------------------------------------------------
+00 01:02:03.123456
参考:


请参阅:

使用时间戳数据类型(如果需要,可以指定精度)。
如果要存储来自不同时区的值,请使用timestamp with timezone。

使用timestamp数据类型(如果需要,可以指定精度)。
如果您想存储来自不同时区的值,请改用带有时区的时间戳。

我根本不会使用时间戳来存储数据。如果在存储之前分钟、秒和毫秒的信息可用,我宁愿创建一个单独的表,其中包含三个数字字段来保存信息;当然,使用代理键:-)

我根本不会使用时间戳来存储数据。如果在存储之前分钟、秒和毫秒的信息可用,我宁愿创建一个单独的表,其中包含三个数字字段来保存信息;当然,还有一个代理键:-)

谢谢,但是否可以只存储时间而不存储日期?我找不到如何为ex.3:52:09(分:秒:毫秒)插入时间值实际上间隔可能更好。已更新。谢谢,但是否可以只存储时间而不存储日期?我找不到如何为ex.3:52:09(分:秒:毫秒)插入时间值实际上间隔可能更好。更新。