ホームページ >データベース >mysql チュートリアル >ora01843 無効な月が表示された場合はどうすればよいですか?
#ora01843 無効な月が表示された場合はどうすればよいですか?
次の SQL ステートメントを実行すると、select TO_DATE('01-FEB-1988', 'DD-MON-YYYY') from dual;次のエラーが発生しました: 再起動 I現在のシステム時間の日付形式を確認したところ、次のことがわかりました: 実行:
SELECT TO_CHAR(sysdate, 'DD-MON-YYYY','NLS_DATE_LANGUAGE = ''SIMPLIFIED CHINESE''') Chn, TO_CHAR(sysdate, 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = American') Ame, TO_CHAR(sysdate, 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = Japanese') Jap, TO_CHAR(sysdate, 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = english') Eng FROM DUAL;次の結果が表示されます: By SQL ステートメントの 1 行目と 4 行目の TO_CHAR 関数により、それぞれ中国、米国、日本、英語 # のシステム時刻が取得されていることがわかります。結果の図から、時刻形式が中国では、日本では 2018 年 27-7 月です。上記の問題では、時刻形式を「DD-MON-YYYY」に変換したい場合、ORA-01843 エラーが発生することがわかります。システムが英語の MON を識別しないため、この問題が発生します; したがって、解決策は次のとおりです: 1. select TO_DATE('01-FEB-1988', 'DD-) の時刻を変更します。 MON-YYYY') from Dual; フィールドを中国語形式、つまり "01- Feb-1998" に変更します; 2. NLS_DATE_LANGUAGE の形式をアメリカ語または英語に設定します
ALTER SESSION SET nls_date_language = 'SIMPLIFIED CHINESE';おすすめ: 「
mysql ビデオ チュートリアル >>
以上がora01843 無効な月が表示された場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。