try:sql="select * from table1 where datepart(dayofyear,yourdatefield) between " & datepart(dayofyear,givendate)-15 & " and "& datepart(dayofyear,givendate) +15
sql="select * from table1 where datepart(dayofyear,yourdatefield) between " & datepart(dayofyear,givendate)-15 & " and "& datepart(dayofyear,givendate) +15 &" order by yourdatefield asc"
你Test 一下SELECT * FROM TABLE WHERE SUBSTR(TO_CHAR(TIME+15,'YYYYMMDD'),5,4)>SUBSTR(TO_CHAR(TIME,'YYYYMMDD'),5,4) AND SUBSTR(TO_CHAR(TIME-15,'YYYYMMDD'),5,4)<SUBSTR(TO_CHAR(TIME,'YYYYMMDD'),5,4) ORDER BY TIME DESC;
sql="select * from 你的表 where datepart(dayofyear,日期字段) between " & datepart(dayofyear,日期字段)-15 & " and "& datepart(dayofyear,日期字段) +15 &" order by 日期字段 asc"
SQL数据库可以按上面的方法,Access如下试试:select * from tb where format(dates,"mm-dd") between format(datediff("d",15,#11/10/2004#),"mm-dd") and format(dateadd("d",15,#11/10/2004#),"mm-dd") order by dates其中:tb是表名,dates是你日期字段名称
"select * From " & strTable & " Where Format([date], 'mm-dd') Between Format(DateDiff('y', 15," & date1.Value & "), 'mm-dd') and format(dateadd('y',15," & date1.Value & "),'mm-dd') order by [date]" 这是我的语句,比如我给了一个2005年7月15日,找出来的是从5月20号以后开始到6月20号以前,怎么会这样,帮我看看了,谢谢!
哦,试试: "select * From " & strTable & " Where Format([date], 'mm-dd') Between Format(DateDiff('y', 15,#" & date1.Value & "#), 'mm-dd') and format(dateadd('y',15,#" & date1.Value & "#),'mm-dd') order by [date]"
FROM TABLE
WHERE SUBSTR(TO_CHAR(TIME+15,'YYYYMMDD'),5,4)>SUBSTR(TO_CHAR(TIME,'YYYYMMDD'),5,4)
AND SUBSTR(TO_CHAR(TIME-15,'YYYYMMDD'),5,4)<SUBSTR(TO_CHAR(TIME,'YYYYMMDD'),5,4)
ORDER BY TIME DESC;
from tb
where format(dates,"mm-dd")
between format(datediff("d",15,#11/10/2004#),"mm-dd")
and format(dateadd("d",15,#11/10/2004#),"mm-dd")
order by dates其中:tb是表名,dates是你日期字段名称
Print Format(DateDiff('y', 15," & date1.Value & ")
看看是不是你要的日子
"select * From " & strTable & " Where Format([date], 'mm-dd') Between Format(DateDiff('y', 15,#" & date1.Value & "#), 'mm-dd') and format(dateadd('y',15,#" & date1.Value & "#),'mm-dd') order by [date]"