asp实现按日期时间查询数据
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上一星期(七天之内):
select * from art where [now] between dateadd("ww",-1,now()) and now()
上一星期(上周一至周日):
select * from art where [now] between dateadd("d",-Weekday(Now())-5,now()) and dateadd("d",-Weekday(Now())+1,now())
上一月(上月的今天至今天):
select * from art where [now] between dateadd("m",-1,now()) and now()
上一月(1号至最后一天):
select * from art where [now] between dateserial(year(now),month(now())-1,1) and dateserial(year(now),month(now()),1-1)
在ACCESS数据库中,日期时间的比较操作符主要有>= 、<=、=三个!但不能直接把比较时间用这些操作符相连!为了区分时间类型和其它类型,ACCESS中在时间比较时在时间两端要加上#!例如,要查询2007-1-1日到2007-7-2日之间的信息,SQL语句可以写成:
Select * form table where datefield >=#2007-1-1# and datefield <=#2007-7-2#
在asp程序中对应得SQL串为:
exsql="select * form table where datefield >= # 2007-1-1 # and datefield<=# 2007-7-2 # "
如果把查询的时间换成一个其他页面传来的变量的话,SQL串对应修改为:
exsql="select * from table where datefield>=#" &Begindate& "# and datefield<= #" &Enddate& "#" ,其中变量Begindate和Enddate分别是查询的起始时间和结束时间。
在网上还找到了一些相关的文章,我也一并附在后面,希望能给需要的朋友有些启示和帮助:
列出某一天, 上一星期的数据:
SELECT distinct dateandtime FROM ctdate_by_query_date WHERE dateandtime between ((#2006-5-15#+(Weekday(2006-5-15)-7))-6) and (#2006-5-15#-7)+Weekday(2006-5-15)
sql="SELECT distinct dateandtime FROM ctarticle WHERE dateandtime between ((#"&date&"#+(Weekday("&date&")"&norp&"7))-6) and (#"&date&"#"&norp&"7)+Weekday("&date&")"
查询一天, 所隶属星期所有天数的数据:
SELECT * FROM ctdate_by_query_date WHERE dateandtime between ((#2006-5-15#+Weekday(2006-5-15))-6) and #2006-5-15#+Weekday(2006-5-15)
查询一个时间段 SELECT * FROM ctdate_by_query_date WHERE dateandtime between #2006-5-1# and #2006-5-30#
列出不同年份的年份, 并且不要相同:
select distinct year(dateandtime) from ctarticle
结果如: Expr1000 2000 2003 2004 2005 2006
列出某一天, 上一年的第一条记录:
SELECT top 1 dateandtime FROM ctarticle where year(dateandtime)=(2006)-1
sql="SELECT top 1 dateandtime FROM ctarticle where year(dateandtime)=(year(#"&date&"#))"&norp
列出某一年的数据:
sql="select * from ctdate_by_query_date where year(dateandtime)="&year(rqqdt_)&" order by dateandtime desc" 查找上一月中的第一条记录:
SELECT top 1 dateandtime FROM ctarticle where year(dateandtime)=year(#2006-5-28#) and month(dateandtime)=month(#2006-5-28#)-1
列出某一月的数据:
sql="select * from ctdate_by_query_date where year(dateandtime)="&year(rqqdt_)&" and month(dateandtime)="&month(rqqdt_)&" order by dateandtime desc
"
列出某一日的数据:
sql="select * from ctdate_by_query_date where dateandtime=#"&rqqdt_&"# order by a.articleid desc"
列出当天的数据:
ql="select * from ctdate_by_query_date where dateandtime=date() order by a.articleid desc"