在 Oracle 中,这将返回 03/01/2010。这对我来说没有意义。有人知道为什么吗?
SELECT TO_DATE( '2010' ,'yyyy' ) AS STRANGE_YEAR_RESULT
FROM DUAL
我已经尝试过 Oracle 10g 和 11g。
在 Oracle 中,这将返回 03/01/2010。这对我来说没有意义。有人知道为什么吗?
SELECT TO_DATE( '2010' ,'yyyy' ) AS STRANGE_YEAR_RESULT
FROM DUAL
我已经尝试过 Oracle 10g 和 11g。
Oracle 在其 Date 类型值字段中需要一个完整的 DateTime,因此我猜它需要当月的第一天,因为您不需要除年份之外的其他信息。请记住,您总是需要在 Oracle 中转换 TO_DATE() 和 TO_CHAR() 日期。假设是这样,Oracle“知道”您将获得所需的信息。
我认为没有任何合理的理由,这只是“它做了什么”。大约一年前,它还在 OTN 论坛上进行了讨论。
不知道,但我的猜测是月份是从零开始的,所以 Jan = 0,Mar = 2,等等。
“10”可能是一个正在形成的千年虫问题,但它被解释为 2010 年。
如果没有给出月份的某一天,则可能是假设该月的第一天。
为什么要测试这个?你永远不想这样编码。