Oracle 时间戳类型

发布于 2024-12-08 15:08:15 字数 158 浏览 2 评论 0原文

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

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

When I choose DESC tablename, I see for some columns TIMESTAMP(3)(11). The 3 is the fractional seconds precision. What is the 11, and how can I define a column like this?

ALTER TABLE name ADD col TIMESTAMP(3)(11) for example gives ORA-00907: missing right parenthesis

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

好菇凉咱不稀罕他 2024-12-15 15:08:15

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

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

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

I don't know of any second parameter to the TIMESTAMP type -- and even if there was one, I would expect to see TIMESTAMP(3,11) instead of what you are seeing.

I wonder if the version of SQLPlus you are using does not understand the data type properly and this is the best way it can represent it -- in which case the real data type might be something like TIMESTAMP(3) WITH TIME ZONE.

What timestamp is displayed if you select DATA_TYPE from ALL_TAB_COLUMNS for the column in question?

慈悲佛祖 2024-12-15 15:08:15

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

TIMESTAMP(3)(11) means that the datatype would be TIMESTAMP(3), which allows a data length of 11. Not all tools (3rd party programs) shows it this way. But if you find a column marked as timestamp(3)(11) instead of just timestamp(3) there is no need to worry :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文