3

Oracle SQL を使用していますが、日付の問題があります。

Insert次のような多くのコマンドを含む長いスクリプトを取得しました。

Insert into MyTable 
(TIME,CROSS,BID,ASK) 
values (to_timestamp('13-NOV-14 03.38.27.785000000 PM','DD-MON-RR HH.MI.SSXFF AM'),'USD/CHF',0.96294,0.963);

ただし、次のエラーが発生します。

ORA-01843 -  "not a valid month"

sysdate の形式は次のとおりです。

22-FEB-15 04.57:18

次のコマンドを試しましたが、フォーマット エラーが発生しました。

alter session set nls_date_format = 'DD-MON-RR HH.MI:SSXFF';

この問題を解決するにはどうすればよいですか? さらに、これらの日付を次の形式に変換したい:

DD/MM/YYYY HH24:MI:SS.miliseconds

この変換は挿入コマンドで行うことができますか?

お知らせ下さい

4

1 に答える 1

4

locale_specific NLS_DATE_LANGUAGEが異なると思われます。

to_timestampに含まれるNLS_DATE_LANGUAGEパラメータを使用して、次のクエリを試してください。

to_timestamp('13-NOV-14 03.38.27.785000000 PM','DD-MON-RR HH.MI.SSXFF AM','NLS_DATE_LANGUAGE = AMERICAN')

セッションを変更する別の方法については、これを参照してください。

于 2015-02-22T15:42:22.173 に答える