2011-10-06 68 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)沒有必要擔心:)