web-dev-qa-db-ja.com

Oracleの現在までの文字列(ミリ秒単位)

フォロー文字列を日付に変換したい:

2004-09-30 23:53:48,140000000

私は試した:

to_date('#', 'YYYY-MM-DD HH24:MI:SS,FF9')

しかし、 PL/SQL このエラーをスローし続けます:

ORA-01821: date format not recognized.

OracleではFF9が間違っていますが、提案はありますか?

22
Custodio

Oracleは、DATEフィールドに秒までの小数部のみを格納します。

代わりにTIMESTAMPを使用します。

SELECT  TO_TIMESTAMP('2004-09-30 23:53:48,140000000', 'YYYY-MM-DD HH24:MI:SS,FF9')
FROM    dual

、おそらくDATEにキャストしてから:

SELECT  CAST(TO_TIMESTAMP('2004-09-30 23:53:48,140000000', 'YYYY-MM-DD HH24:MI:SS,FF9') AS DATE)
FROM    dual
60
Quassnoi

Oracleのto_dateまたはDATEタイプで小数秒を使用できるとは思わない。 TIMESTAMP型を返すto_timestampが必要だと思います。

4
Jeremy Bourque