[英]Oracle SQL time data type
I'm looking to store just a time value in a number of columns, but I'm unsure what data type I have to use? 我想在一些列中存储一个时间值,但我不确定我必须使用哪种数据类型? There is currently TIMESTAMP in place, but this seems to store date as well and is useless if I'm trying to store a recorded time from a race.
目前有TIMESTAMP,但这似乎存储日期,如果我试图存储比赛的记录时间,则无用。
Any ideas, I've searched around and can't find what I'm looking for. 任何想法,我已经四处寻找,找不到我想要的东西。
Thank you for reading! 谢谢你的阅读!
The elapsed time for a race should be stored in an INTERVAL DAY TO SECOND
. 比赛的经过时间应存储在
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
and DATETIME
aren't appropriate here. TIMESTAMP
和DATETIME
不适合这里。 What you're trying to store isn't a single point in time, but an interval of time. 你想要存储的不是一个单一的时间点 ,而是一段时间。 Oracle 9i and later have support for such intervals.
Oracle 9i及更高版本支持此类间隔。 Try using
INTERVAL DAY TO SECOND
: 尝试使用
INTERVAL DAY TO SECOND
:
INTERVAL '3 12:30:06.7' DAY TO SECOND(1)
Reference: http://www.techrepublic.com/article/master-oracles-time-interval-datatypes/6085801 参考: http : //www.techrepublic.com/article/master-oracles-time-interval-datatypes/6085801
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.