请教SQL语句:未来多少天内...(100分)

  • 主题发起人 主题发起人 haiip2000
  • 开始时间 开始时间
H

haiip2000

Unregistered / Unconfirmed
GUEST, unregistred user!
求助各位:<br><br>&nbsp; &nbsp;最近在做一个程序,其中需要日程提醒功能。<br>&nbsp; &nbsp;日程的提示方式为每周的周几、每月几号<br>&nbsp; &nbsp;在察看日程信息的时候,可以使用户看到未来**天内的日程。<br><br>&nbsp; &nbsp;对此SQL语句很头疼。<br>&nbsp; &nbsp;怎么写呢?<br>&nbsp; &nbsp;例如:<br>&nbsp; &nbsp;1。自2008年1月1日起的30天内 &nbsp;有多少星期是周三的日程。(可能跨年)<br>&nbsp; &nbsp;2。自2008年1月1日起的30天内 &nbsp;有多少是日期是3号的日程。(可能跨年)
 
在线焦急等待中....想几天把这个模块做完。不然晚上不能去打球了
 
我是單獨建個表,把這些日期對應周期全存進去的,到時可以任意查的,不知對你會有幫助不。
 
未来X天日程中的 &nbsp;X可以由用户自由编辑。1到999不等。<br>而且这个系统的日程量用该不少<br>我已经把日程中 &nbsp;每年 几月几号 的SQL写出来了<br>但是就是弄不好每月几号 &nbsp;和 &nbsp; 每周周几的 sql<br>头疼....
 
日期都是可以互相换算的,你的基础数据中肯定有一个日期子段,你可以做一个视图,在视图中计算出需要的字段,好比说:星期几,几号。这样你查询数据的时候就可以直接利用视图中的数据了。<br><br>绝对最佳答案!!!
 
谢谢大家<br>结贴了<br>sql我写出来了。<br>&nbsp; ADOQuery1.SQL.Add(' ( ');<br>&nbsp; ADOQuery1.SQL.Add(' ( ');<br>&nbsp; ADOQuery1.SQL.Add(' DATEVALUE(CSTR(YEAR(NOW())+1)+"-"+CSTR(MONTH(NOW()))+"-"+CSTR(DAY(TSRQ))) ');<br>&nbsp; ADOQuery1.SQL.Add(' - DateValue(NOW()) ');<br>&nbsp; ADOQuery1.SQL.Add(' ) ');<br>&nbsp; ADOQuery1.SQL.Add(' ) ');<br>&nbsp; ADOQuery1.SQL.Add(' mod ');<br>&nbsp; ADOQuery1.SQL.Add(' ( ');<br>&nbsp; ADOQuery1.SQL.Add(' DATEVALUE(CSTR(YEAR(NOW())+1)+"-"+CSTR(MONTH(NOW()))+"-"+CSTR(DAY(NOW()))) ');<br>&nbsp; ADOQuery1.SQL.Add(' -DateValue(NOW()) &nbsp;');<br>&nbsp; ADOQuery1.SQL.Add(' ) ');<br>&nbsp; ADOQuery1.SQL.Add(' BETWEEN &nbsp;0 AND 30 ');<br><br><br>感谢大家参与
 
嘿嘿 &nbsp; 平分啦
 
declare @date datetime,@de datetime<br>set @date='2008-01-01 00:00:00.000'<br><br>select DATEDIFF(week,@date,getdate()) as aweek <br>select DATEDIFF(month,@date,getdate()) as amonth
 
后退
顶部