Oracle 中的 TO_DATE 错误

发布于 2024-10-15 20:42:38 字数 382 浏览 2 评论 0原文

当我运行此查询时:

SELECT * FROM tbl_person 
WHERE to_date(date_create, 'dd/mm/yyyy') < to_date('01/01/2010', 'dd/mm/yyyy')

我遇到以下错误:

ORA-01841:(完整)年份必须介于 -4713 和 +9999 之间,并且不能为 0

需要明确的是,当我添加到表中时,date_create 字段存储了 SYSDATE。我需要的是从 2010 年 1 月 1 日起从 tbl_person 表中检索数据。

When I run this query:

SELECT * FROM tbl_person 
WHERE to_date(date_create, 'dd/mm/yyyy') < to_date('01/01/2010', 'dd/mm/yyyy')

I hit the following error:

ORA-01841: (full) year must be between -4713 and +9999, and not be 0

To be clear, date_create field stored SYSDATE when I added into table. What I need is to retrieve data from tbl_person table starting from 01/01/2010 onward.

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

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

发布评论

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

评论(1

裂开嘴轻声笑有多痛 2024-10-22 20:42:38

您不想在 DATE 致电 TO_DATE。只需在查询中使用日期列(并将其与日期进行比较)

SELECT *
  FROM tbl_person
 WHERE date_created < to_date('01/01/2010', 'dd/mm/yyyy')

You don't want to call TO_DATE on a DATE. Just use the date column in the query (and compare it to a date)

SELECT *
  FROM tbl_person
 WHERE date_created < to_date('01/01/2010', 'dd/mm/yyyy')
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文