Oracleのテーブルに挿入しました。 PLSQLのない私の実装は次のようになります。日付形式を「yyyy/mm/dd」から「mm-dd-yyyy」に変更しました。
SELECT to_date('1900-01-01','YYYY-MM-DD') + (rownum - 1) AS DT_CAL,
rownum AS NUM_JOUR
FROM dual
CONNECT BY to_date('1900-01-01','YYYY-MM-DD') + (rownum - 1) <=
to_date('2000-12-31','YYYY-MM-DD')
結果は次のとおりです。05/28/1900
、ない1900-05-28
。問題の内容を理解できるように助けてくれますか?
これは正解です。 「プロダクション」クエリでは、他のユーザのNLS設定を制御することができないため、必要な日付書式モデルで常にto_char(DATE_COLUMN、 '.....')を使用することをお勧めします。 OPのためには、彼/彼女自身の結果をチェックするだけで、NLS_DATE_FORMATソリューションで十分です。オラクル社が内部日付の保存に使用する内部形式に関する注意:OTNの "BluShadow"は良い説明です。自分で調べるには、SELECT DUMP(SYSDATE)FROM DUALを実行して理解してみてください。それは明らかではありませんが、数字ではなく、7つの数字です。 – mathguy
リンク:https://community.oracle.com/docs/DOC-991195 – mathguy
@mathguy日付の形式も次のとおりです[Stackoverflow Documentation](http://stackoverflow.com/documentation/oracle/2087/dates/) 6848/the-date-of-date#t = 201607240002226712408)。 – MT0