Oracle
 sql >> Base de données >  >> RDS >> Oracle

Oracle TO_DATE ne génère pas d'erreur

Consultez le tableau ici :https://docs. oracle.com/cd/B28359_01/server.111/b28286/sql_elements004.htm#g195479

Il fait partie de la section String-To-Date Conversion Rules du modèle de format Datetime. Dans le cas de MM s'il n'y a pas de correspondance, il tente pour MON et MONTH . De même si vous spécifiez MON et il ne le trouve pas, il tente MONTH . Si vous spécifiez MONTH et il ne peut pas le trouver, il tente MON , mais il ne tentera jamais MM sur tout sauf MM .

En réponse à la question :Can I turn it off? La réponse est oui.

Vous pouvez le faire en spécifiant FX dans le cadre de votre formatage.

SELECT TO_DATE('18/february/2016', 'FXDD/MM/YYYY') FROM dual;

Retourne maintenant :

Considérant que ce qui suit :

SELECT TO_DATE('18/02/2016', 'FXDD/MM/YYYY') FROM dual;

Renvoie l'attendu :

Notez que lors de la spécification de FX vous DEVEZ utilisez les séparateurs appropriés, sinon cela entraînera une erreur.