to_date()は、文字列パラメーターを受け取り、それを2番目のパラメーターで指定した形式と照合し、それから日付フィールドを作成します。日付フィールドは、2番目のパラメーターで指定した形式を使用していません。実際、形式をまったく持たない内部データ表現(おそらく数値)を使用して格納されます。
日付フィールドの結果にフォーマットを戻すには、次のいずれかを実行できます。
- クエリを実行するクライアントに、ローカライズされた形式を提供するように(セッションレベルで)NLSパラメータを設定してもらいます。
ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD';
ステートメント)、または -
to_char(..., 'YYYY-MM-DD')
を使用します 既存のフィールドを囲んで、日付を希望どおりにフォーマットされた文字列に戻します。...
を置き換える場所 現在の列定義を選択します。
現在のフォーマットを生成しているNLS_DATE_FORMATセットがすでに存在するため、アプローチ#1はすでに行われていますが、それは不要なフォーマットであるため、それを制御してそこで変更できる場合は、それを行うことができます。仕方。それができず、他の方法で一貫した単一のフォーマットを使用する必要がある場合は、#2が最適な方法である可能性があります。