求教一个sql语句的写法

lqsmn613 2010-06-10 04:37:21
有一个表weekorder。有三个字段:一个自然是id,还有两个一个是startdate,一个是enddate
其中startdate和enddate表示的是日期,格式为6/10/2010
例如表中有一行是:id="77",startdate="6/7/2010" enddate="6/13/2010"
以今天为例,怎么写sql,通过判断今天的日期在上面这个例子的时间段内,然后取得其相应的id值呢?
PS:另外,说明下,上面这个weekorder是早就存在的表,数据也有了,没得改,只能去取。
...全文
147 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lqsmn613 2010-06-11
  • 打赏
  • 举报
回复
多谢大家解疑。可能我没说清楚,我这用的是sql server,所有oracle的函数好像都没用的哦,不管怎么样,问题解决了,还是谢谢大家。
yangxuebao123 2010-06-10
  • 打赏
  • 举报
回复



select id from weekorder w where datediff(getdate(),startdate,enddate)>0
NFSP 2010-06-10
  • 打赏
  • 举报
回复

SELECT id
FROM weekorder w
WHERE w.startdate<to_date(sysdate,'yy-mm-dd') and w.enddate>to_date(sysdate,'yy-mm-dd')
dr_lou 2010-06-10
  • 打赏
  • 举报
回复
between and可以么?
wzglovejava 2010-06-10
  • 打赏
  • 举报
回复
select id from weekorder w where to_char(w.startdate,'yyyy-mm-dd')<=to_char(sysdate,'yyyy-mm-dd') and to_char(w.enddate,'yyyy-mm-dd')>=to_char(sysdate,'yyyy-mm-dd')
  • 打赏
  • 举报
回复
好像又错了。

today为要传入的参宿值

select id from weekorder w where to_date(w.startdate,'yyyy-mm-dd') >= 'today' and to_date(w.enddate,'yyyy-mm-dd')<= 'today';
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ivorytower 的回复:]

select id from weekorder w where w.startdate <= to_date("+today+",'yyyy-mm-dd') and enddate >= to_date("+today+",'yyyy-mm-dd');
[/Quote]
函数使用错误,应该是

select id from weekorder w where w.startdate <= to_date("+today+") and enddate >= to_date("+today+");
  • 打赏
  • 举报
回复
select id from weekorder w where w.startdate <= to_date("+today+",'yyyy-mm-dd') and enddate >= to_date("+today+",'yyyy-mm-dd');
Java技术栈 2010-06-10
  • 打赏
  • 举报
回复
这样写吧。。
Date today = new Date();

select id from weekorder w where w.startdate <= to_date("+today+") and enddate >= to_date("+today+");

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧