今天程序中要实现时间作为查询条件的功能!使用的是ASP+ACCESS。 ?
? ?在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"
?