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

时间:2014-02-13 14:25:32

标签: oracle oracle11g oracle10g

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

1 个答案:

答案 0 :(得分:1)

如果需要管理年,月,日,小时,分钟和秒,可以使用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