我想在多列中存储一个时间值,但我不确定我必须使用什么数据类型?目前有 TIMESTAMP,但这似乎也存储了日期,如果我试图存储比赛的记录时间,这将是无用的。
任何想法,我已经四处搜索,但找不到我要找的东西。
感谢您的阅读!
比赛经过的时间应存储在INTERVAL DAY TO SECOND
.
SQL> create table runner(
2 runner_id number primary key,
3 runner_name varchar2(100),
4 runner_time interval day to second
5 );
Table created.
SQL> insert into runner
2 values( 1, 'Justin', numtodsinterval( 250, 'second' ) );
1 row created.
SQL> select *
2 from runner;
RUNNER_ID RUNNER_NAME RUNNER_TIME
---------- -------------------- ------------------------------
1 Justin +00 00:04:10.000000
TIMESTAMP
并且DATETIME
不适合这里。您要存储的不是单个时间点,而是时间间隔。Oracle 9i 及更高版本支持此类间隔。尝试使用INTERVAL DAY TO SECOND
:
INTERVAL '3 12:30:06.7' DAY TO SECOND(1)
参考:http ://www.techrepublic.com/article/master-oracles-time-interval-datatypes/6085801