我只想要 TIME 组件,而不是 oracle 中的 DATE 组件.创建表时应该使用什么数据类型



我想在表中创建一个列,用于存储运行作业的时间。我应该为此列使用哪种数据类型?请用一些例子来解释。

如果需要管理年、月、日、小时、分钟和秒,可以使用 DATE 数据类型。如果您还需要秒的小数部分,则可以使用 TIMESTAMP 数据类型(具有所需的精度)。

CREATE TABLE T
(D1     DATE,
 T1     TIMESTAMP(9));  -- Default: 6
INSERT INTO T
VALUES (SYSDATE, SYSTIMESTAMP);
SELECT *
FROM T;
D1                      T1
-------------------     -------------------------------
02/13/2014 16:03:25     13-FEB-14 04.03.25.772000000 PM

如果您需要时间组件 - 例如 - 即使使用 DATE 数据类型,您也可以使用带有所需格式掩码TO_CHAR函数来获取它:

SELECT TO_CHAR(SYSDATE, 'HH24:MI:SS') AS HMS
FROM T;
HMS
--------
10:19:51

最新更新