2011-10-06 66 views
0

当我选择DESC表名时,我看到TIMESTAMP(3)(11)的某些列。 3是精确度的小数秒。什么是11,如何定义这样的列?Oracle TIMESTAMP类型

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

回答

1

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

我在想,如果你正在使用的SQLPlus版本不能正确理解数据类型,并且这是它可以表示它的最好方式 - 在这种情况下,真正的数据类型可能类似TIMESTAMP(3)WITH TIME区。

如果从ALL_TAB_COLUMNS有问题的列中选择DATA_TYPE显示什么时间戳?

+0

我使用的是第三方工具。当我使用SQLPlus时,它说TIMESTAMP(3)。我想这可能是这个其他工具中的一个错误。 – Cantillon

0

TIMESTAMP(3)(11)表示的数据类型将是时间戳(3),其允许的11的数据长度不是所有的工具(第三方程序)示出了这种方式。但如果你发现标记为时间戳列(3)(11),而不是仅仅时间戳(3)没有必要担心:)