建站常识

asp实现按日期时间查询数据

发布时间 | 2017/1/23  点击 | 

上一星期(七天之内):
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"

列出当天的数据:
sql="select * from ctdate_by_query_date where dateandtime=date() order by a.articleid desc"

相关信息