Question

Dans Oracle, cela renvoie 03/01/2010. Cela n'a pas de sens pour moi. Quelqu'un sait pourquoi?

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

Je l'ai essayé sur 10g et Oracle 11g.

Était-ce utile?

La solution

Oracle a besoin d'un DateTime complet dans son champ de valeur de type Date, permettant ainsi de prendre le premier jour du courant mois, je suppose, puisque vous devez aucune autre information que l'année. Rappelez-vous que vous devez toujours jeter par TO_DATE () et TO_CHAR () dates Oracle. En supposant donc, Oracle « sait » que vous obtiendrez les informations nécessaires.

Autres conseils

Je ne pense pas qu'il y ait une raison valable, il est juste « ce qu'il fait ». Il a également obtenu discuté sur le forum OTN il y a environ un an.

Je ne sais pas, mais je pense que les mois sont basés zéro, Jan = 0, Mar = 2, etc.

« 10 » pourrait être un problème Y2K dans la fabrication, mais il être interprété comme 2010.

Et si aucun jour du mois est donné, peut-être il est en supposant que le premier jour du mois.

Pourquoi le tester? Vous ne veux plus jamais coder cette façon.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top