0

在 SQL Developer 中,我有字段类型是timestamp(6)

当我尝试在此字段中插入这样的数据时:2013-07-10 12:22:22SQL Developer 显示错误:not a valid month

我在 sql developer 中有这个设置: 在此处输入图像描述

你能告诉我为什么会发生这个错误吗?

4

1 回答 1

4

因为你的 NLS_TIMESTAMP_FORMAT 有错误;你有MM两次元素。它应该是:

YYYY-MM-DD HH24:MI:SS

如果您只使用HH小时元素,您将无法区分上午和下午时间;HH24例如,将为您01提供凌晨 1 点和13下午 1 点的信息。微小的元素是MI,不是MM。目前它正试图解释22为一个无效的月份数,正如错误所说。

但是,如果您不想要小数秒,为什么要使用 a timestampover a呢?date

通常,您不应该依赖 NLS 设置。to_timestamp('2013-07-10 12:22:22', 'YYYY-MM-DD HH24:MI:SS')当其他人使用不同的 NLS 设置运行您的代码时,使用它来避免任何歧义和意外,而不是临时查询,这会好得多。

于 2013-10-13T17:26:33.677 回答