首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比较oracle中的date和sysdate

比较oracle中的date和sysdate
EN

Stack Overflow用户
提问于 2012-02-05 14:29:34
回答 3查看 95K关注 0票数 8

我有一个"DATE“类型的列,我想对它运行一个查询,将它与sysdate进行比较。

但是我得到了以下错误,谁能让我知道我这里遗漏了什么?

代码语言:javascript
复制
SQL> select distinct file_name as r 
     from table_1 
     where view_day >= TO_DATE(SYSDATE-10, 'YYYY/MM/DD');

ERROR at line 1:
ORA-01858: a non-numeric character was found where a numeric was expected
EN

回答 3

Stack Overflow用户

发布于 2012-02-05 15:05:41

你不应该在日期上使用to_date,To_date是用来将变量字符转换为日期的,而不是日期。

如果您在日期上使用函数to_date,那么oracle将根据nls_date_format将其引用为字符串,这在不同的环境中可能会有所不同。

正如@jonearles所说,如果你想删除sysdate中的时间,那么使用TRUNC

票数 16
EN

Stack Overflow用户

发布于 2012-02-05 15:38:15

使用:

代码语言:javascript
复制
select distinct file_name as r 
from table_1 
where view_day >= TRUNC(SYSDATE-10)
票数 6
EN

Stack Overflow用户

发布于 2012-02-05 14:42:56

错误显示VIEW_DAY列是varchar,因此您需要将日期转换为字符串。使用TO_CHAR或将VIEW_DAY转换为date类型。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9147393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档