Oracle TIMESTAMP类型

时间:2011-10-06 13:17:59

标签: oracle timestamp ora-00907

当我选择DESC tablename时,我会看到一些列TIMESTAMP(3)(11)。 3是小数秒精度。什么是11,我该如何定义这样的列?

例如,

ALTER TABLE name ADD col TIMESTAMP(3)(11)给出ORA-00907:缺少右括号

2 个答案:

答案 0 :(得分:1)

我不知道TIMESTAMP类型的任何第二个参数 - 即使有一个,我希望看到TIMESTAMP(3,11)而不是你所看到的。

我想知道您使用的SQLPlus版本是否无法正确理解数据类型,这是它可以表示的最佳方式 - 在这种情况下,真实数据类型可能类似于TIMESTAMP(3)WITH TIME ZONE

如果从ALL_TAB_COLUMNS为相关列选择DATA_TYPE,会显示什么时间戳?

答案 1 :(得分:0)

TIMESTAMP(3)(11)表示数据类型为TIMESTAMP(3),允许数据长度为11.并非所有工具(第三方程序)都以这种方式显示。但是如果你发现一个标记为timestamp(3)(11)而不是时间戳(3)的列,则无需担心:)