当我选择DESC表名时,我看到一些列的TIMESTAMP(3)(11)。3是小数秒精度。11是什么,我怎么定义这样的列?
例如, ALTER TABLE name ADD col TIMESTAMP(3)(11)
给出ORA-00907:缺少右括号
我不知道TIMESTAMP类型的任何第二个参数——即使有,我也希望看到TIMESTAMP(3,11),而不是您所看到的。
我想知道你正在使用的SQLPlus版本是否不能正确理解数据类型,而这是它可以表示它的最佳方式——在这种情况下,真正的数据类型可能是TIMESTAMP(3) WITH TIME ZONE之类的东西。
如果为所讨论的列从ALL_TAB_COLUMNS中选择DATA_TYPE,将显示什么时间戳?
TIMESTAMP(3)(11)表示数据类型将是TIMESTAMP(3),它允许数据长度为11。并不是所有的工具(第三方程序)都这样显示。但是如果您发现一个列标记为timestamp(3)(11)而不是timestamp(3),则无需担心:)