在
雖然NUMBER這個數據類型可以以秒為單位准確地表示時間
在Oracle
在SQL和PL/SQL中
INTERVAL YEAR[(year_precision)] TO MONTH
INTERVAL DAY[(day_precision)] TO SECOND[(fractional_seconds_precision)]
對於精確數值
時間間隔的大小由INTERVAL來表示
INTERVAL
下面的例子表示
INTERVAL
時間間隔可以為正
列表A說明了怎樣創建一個表格來記錄一個事件的開始時間和持續時間
列表A
CREATE TABLE experiment
(experiment_id NUMBER(
experiment_desc VARCHAR
experiment_start TIMESTAMP
experiment_duration INTERVAL DAY(
)
Table created
INSERT INTO experiment
VALUES (
INTERVAL
)
col experiment_desc format a
col experiment_start format a
col experiment_duration format a
SELECT * FROM experiment
EXPERIMENT_ID EXPERIMENT_DESC —— —— EXPERIMENT_START EXPERIMENT_DURATION —— ——
—— Now compute the experiment
SELECT experiment_id
experiment_start + experiment_durationexperiment_end
FROM experiment
EXPERIMENT_ID EXPERIMENT_START —— —— EXPERIMENT_END ——
但遺憾的是
EXTRACT(timepart FROM interval_expression)
列表B給出了一個運用這種方法的例子
列表B
SELECT EXTRACT(DAY FROM experiment_duration) ||
FROM experiment
DURATION
首先
From:http://tw.wingwit.com/Article/program/Oracle/201311/16775.html