在Oracle中,这将返回03/01/2010。这没有什么意义,我。任何人都知道为什么吗?

SELECT TO_DATE( '2010' ,'yyyy' ) AS STRANGE_YEAR_RESULT
FROM DUAL

我试图在Oracle 10g和11g。

有帮助吗?

解决方案

Oracle需要一个完整的日期时间在日期类型值字段,从而使其采取的电流月的第一天,我猜,因为你需要比今年任何其他信息。请记住,你总是需要通过TO_DATE()和TO_CHAR(投)日期在Oracle中。假设如此,甲骨文“知道”,你会得到所需要的信息。

其他提示

我不认为有任何理由合理,这只是“它做什么”。这也得到了讨论在OTN论坛大约一年前。

不知道,但我的猜测是,月份是从零开始的,所以月= 0,三月= 2,等等。

“10”可能是在制造一个2000年问题,但它是被解释为2010。

如果无月的一天给出,也许它是假设该月的第一天。

为什么测试此?你永远不会想要这样的代码

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top