在Oracle中,为什么会出现这种回报3月1日?
-
18-09-2019 - |
题
在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。
如果无月的一天给出,也许它是假设该月的第一天。
为什么测试此?你永远不会想要这样的代码
不隶属于 StackOverflow