【发布时间】:2019-12-13 01:49:55
【问题描述】:
谁能告诉我为什么这个 SQL 查询返回一个
ORA-01843. 00000 - "not a valid month"
我现在错了,但应该是因为 2018 年不是一个有效的日子。 09 是有效月份。我觉得..
select to_timestamp('2018-09-05 11:35:41', 'dd/MM/yyyy HH:mi:ss') from dual;
我知道查询是错误的。我只是想知道为什么它没有说not a valid day 或类似的东西。错误现在说月份是错误的,这是错误的。
【问题讨论】:
-
嗯,2018 年不是一个月中的有效日期。这似乎很明显。格式需要与您的字符串匹配。错误是关于月份而不是日期,这似乎很奇怪。
-
您的输入字符串是
yyyy-mm-dd,但您的格式字符串是dd/mm/yyyy- 显然那些不匹配 -
是的,我同意。但错误说:不是一个有效的月份。这意味着月份是假的而不是日期部分
-
我知道我的查询是错误的,但为什么错误是 NOT A VALID MONTH。我的月份部分是正确的(09)这是错误的日期部分
-
我知道查询错误。我只是想知道为什么它没有说
not a valid day或类似的东西。错误现在说月份是错误的,这是错误的。感谢您的帮助