Oracle 中的日期字符串(以毫秒为单位)

发布于 2024-08-11 14:28:19 字数 355 浏览 5 评论 0原文

我想将以下字符串转换为日期:

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 来说不正确,有什么建议吗?

I want to convert the follow string to date:

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

I tried:

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

But PL/SQL keep throwing this error:

ORA-01821: date format not recognized.

FF9 is incorrect for Oracle, any suggestion?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

迷爱 2024-08-18 14:28:19

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

Oracle stores only the fractions up to second in a DATE field.

Use TIMESTAMP instead:

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

, possibly casting it to a DATE then:

SELECT  CAST(TO_TIMESTAMP('2004-09-30 23:53:48,140000000', 'YYYY-MM-DD HH24:MI:SS,FF9') AS DATE)
FROM    dual
缺⑴份安定 2024-08-18 14:28:19

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

I don't think you can use fractional seconds with to_date or the DATE type in Oracle. I think you need to_timestamp which returns a TIMESTAMP type.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文