ASP查询数据库,按年月查询,比如2009年11月

来源:百度知道 编辑:UC知道 时间:2024/06/14 09:16:59
能解决的朋友我可以再追加50分,问题如下:
数据库类型ACCESS
表名news
字段
id 自动编号
title 标题
infotime 生成时间

我想查询本月生成的纪录,就是2009年11月的纪录,按我的想法写的代码,执行结果不对,SQL语句如下
<%
syear=year(now())
smonth=month(now())
sql="select * from news where year(infotime)="&syear&" and month(infotime)="&smonth&" order by id desc"
%>
我先测试,如果通过立即给分

year()函数是VBScript中用的,你现在要先使用SQL语句获取当前的年和月,当然要用T-SQL中的函数了,DATEPART ( datepart , date ) ,sql语句应该改为:sql="select * from news where DATEPART(yy,infotime)="&syear&" and DATEPART(mm,infotime)="&smonth&"

语句应该是正确的,你把具体的sql语句输出来,看下有什么问题。
用response.write(sql)

sql="select * from news where datediff('m',infotime,"&now()&")=0 order by id desc"

sql="select * from news where datediff('m',infotime,now())=0 order by id desc"
我没测试,你试试。日期的比较实用datediff 日期的增减实用dateadd

<%
d=date()
sql="select * from news where dateDiff('m',infotime,'"&d&"')=0 order by id desc"
%>