Oracle中的字符串,以毫秒为单位

Cus*_*dio 23 oracle to-date

我想将跟随字符串转换为日期:

2004-09-30 23:53:48,140000000
Run Code Online (Sandbox Code Playgroud)

我试过了:

to_date('#', 'YYYY-MM-DD HH24:MI:SS,FF9')
Run Code Online (Sandbox Code Playgroud)

但是PL/SQL不断抛出这个错误:

ORA-01821: date format not recognized.
Run Code Online (Sandbox Code Playgroud)

对于Oracle,FF9是不正确的,有什么建议吗?

Qua*_*noi 61

Oracle仅存储DATE字段中的分数至秒.

TIMESTAMP改为使用:

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

,可能把它投到DATE当时:

SELECT  CAST(TO_TIMESTAMP('2004-09-30 23:53:48,140000000', 'YYYY-MM-DD HH24:MI:SS,FF9') AS DATE)
FROM    dual
Run Code Online (Sandbox Code Playgroud)


Jer*_*que 5

我认为您不能在 Oracle 中的 to_date 或 DATE 类型中使用小数秒。我认为你需要 to_timestamp 它返回 TIMESTAMP 类型。