29

次の文字列を日付に変換したい:

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

私は試した:

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

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

ORA-01821: date format not recognized.

FF9 は Oracle では正しくありません。何か提案はありますか?

4

3 に答える 3

70

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

TIMESTAMP代わりに使用してください:

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

、おそらくそれを then にキャストしますDATE:

SELECT  CAST(TO_TIMESTAMP('2004-09-30 23:53:48,140000000', 'YYYY-MM-DD HH24:MI:SS,FF9') AS DATE)
FROM    dual
于 2009-11-18T19:00:35.873 に答える
4

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

于 2009-11-18T19:03:12.450 に答える