Oracle TO_DATE関数の使用率が高いです

様々な理由のために、我々のシステムでは、Cが原因フォーマット、むしろ従来の2019から03より、データベース層03月19に記憶されたフォーマットに期間(PERIOD_NAME)を設定します。

私たちは、あまりにも多くのポイントを関与、データベースを変更することはできません。

しかし、例えば、それが直接2019から03まで同じ形式期間を格納するデータのサイズを比較することはできません、03月19にとって不便です。

OracleはMON形式をサポートしているため、その使用するようにしてください

SELECT TO_CHAR(TO_DATE(' 月-19 '' MM-YY ')、' YYYY-MM 'FROM DUAL; // ORA-01843:無効な月

しかし残念ながら、それは、ORA-01843を報告した:無効月、ソリューションのほとんどはNLS_LANGUAGEあるか実現可能な環境パラメータ、全体のデータベースを変更するための言語AMERICAN SESSIONの方法を変更することではなく、実用的ではありません。

実際には、ない、することができますように

選択 TO_CHAR(TO_DATE(' 03月19 '' MM-YYを'' NLS_DATE_LANGUAGE = '' AMERICAN ''' )、' YYYY-MM 'FROM DUAL。

 

参考:

文字列に変換TO_DATE ORA-01843ない有効な月の分析

オラクルの日付と時刻 

おすすめ

転載: www.cnblogs.com/huanghongbo/p/11291870.html