いくつかの列に時間値だけを保存しようとしていますが、どのデータ型を使用すればよいかわかりません。現在 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