首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle SQL在2周内检索日期

Oracle SQL在2周内检索日期
EN

Stack Overflow用户
提问于 2015-03-23 17:24:37
回答 3查看 4.3K关注 0票数 0

我试图返回信息,在我的桌子上的汽车‘汽车’,其中有MOT在未来2周内到期。MOTDUE被定义为to_date('2015-03-25', 'yyyy-mm-dd');

代码语言:javascript
复制
SELECT * FROM Cars WHERE MOTDUE = CURRENT_DATE + INTERVAL '2' WEEK;

只是给我“丢失或无效的日期时间字段”错误。

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-03-23 17:29:27

根据您所说的“在未来两周内”的含义,并假设MOTDUE列的数据类型是DATE,那么下面的内容应该给您所需要的(或者至少允许您适当地修改):

代码语言:javascript
复制
select *
from   cars
where  motdue < trunc(sysdate) + 14
and    motdue >= trunc(sysdate);
票数 2
EN

Stack Overflow用户

发布于 2015-03-23 17:29:08

试试这个:

代码语言:javascript
复制
SELECT * FROM Cars WHERE MOTDUE = CURRENT_DATE + INTERVAL '14' DAY;
票数 1
EN

Stack Overflow用户

发布于 2015-03-23 19:07:05

Oracle-YEAR TO MONTHDAY TO SECOND中有两种类型的DAY TO SECOND。因此,YEARMONTHDAYHOURMINUTESECOND都是有效的增量。不幸的是,WEEK不是(不幸的是,FORTNIGHT也不是)。ANSI标准的方法如下所示:

代码语言:javascript
复制
SELECT * FROM cars
 WHERE motdue >= CURRENT_DATE
   AND motdue < CURRENT_DATE + INTERVAL '14' DAY;

上面的问题是,在甲骨文中,ANSI -标准CURRENT_DATE不遵守ANSI标准-它有一个时间部分,就像SYSDATE一样。如果你不想在午夜缩短约会时间,那就好了。

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

https://stackoverflow.com/questions/29216504

复制
相关文章

相似问题

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