Frage

In Oracle gibt diese 03.01.2010. Das macht keinen Sinn für mich. Weiß jemand, warum?

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

Ich habe versucht, auf Oracle 10g und 11g.

War es hilfreich?

Lösung

Oracle eine vollständige Datetime in seinem Datumstyp Wertfeld muss, damit es den ersten Tag des Strom Monats macht, würde ich denkt, da Sie keine andere Informationen als im Jahr erforderlich. Denken Sie daran, dass Sie müssen immer werfen durch TO_DATE () und TO_CHAR () Daten in Oracle. Unter der Annahme, so, Oracle „weiß“, dass Sie die erforderlichen Informationen erhalten.

Andere Tipps

Ich glaube nicht, dass jeder vernünftiger Grund ist, es ist nur „was es tut“. Es wurde auch diskutiert auf dem OTN-Foren vor etwa einem Jahr .

Sie wissen nicht, aber meine Vermutung ist, dass Monate Null basiert, so Jan = 0, Mar = 2, etc.

"10" könnte ein Y2K-Problem in der Herstellung sein, aber es wird als 2010 interpretiert wird.

Und wenn kein Tag des Monats gegeben ist, ist es vielleicht am ersten Tag des Monats angenommen wird.

Warum testet das? Sie würden nie auf diese Weise codieren möchten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top