Varchar2列の形式を「DD-MON-YY」から「DD/MM/YYYY」に変換しようとしています。
例:「1-JAN-16」から「1/01/2016」へ
あなたが尋ねることができるか、それが役立つかもしれない場合:
これどうやってするの?前もって感謝します..
NLS_DATE_LANGUAGE
パラメーターを指定しない場合、独自のセッションのパラメーターが使用されます。
次のようにオーバーライドできます:
select TO_CHAR(TO_DATE('01-JAN-16','DD-MON-YY', 'NLS_DATE_LANGUAGE = English'),
'DD/MM/YYYY') from dual;
これは、このクエリのみに影響し、他には何も影響しません。このような多くの日付で作業する必要がある場合、
ALTER SESSION SET NLS_DATE_LANGUAGE='ENGLISH'
-その後、後で変更するか、このセッションが終了して別のセッションを開始するとトルコ語にリセットされます。
この変更を(ほぼ)永続的にする必要がある場合は、SQL DeveloperまたはToadの設定、またはSQL * Plusのlogin.sqlに設定を変更します。
これを試して:
TO_CHAR(TO_DATE('01-JAN-16','DD-MON-YY'),'DD/MM/YYYY')
データはクリーンである必要があります-すべてが元の形式に準拠している必要があります。そうでない場合、TO_DATE変換でエラーが発生します。
[ツール] —> [設定] —> [データベース]-> [NLS] —> [日付形式]に移動し、日付をDD/MM/YYYYに変更します。
Oracle SQL Developerバージョン18.4.0.376ビルド376.1900