您好我需要将SQL与ASP Classic结合起来
我想将数据库中的日期与服务器的日期进行比较......出于某种原因,它可以正常工作。
这是我的代码。我无法激活它。
错误是:函数DATEDIFF中使用的参数太少(08/05 / 2014,日期)< = 1
<%
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "Driver={Microsoft Access Driver (*.mdb)};" & _
"Dbq=" & Server.MapPath("db\web.mdb") & ";"
mySQL = "SELECT * FROM Meetings where DATEDIFF(now(),date) <=1 "
Set oRS = oConn.Execute (mySQL)
Response.Write "<ul>"
Do Until oRS.EOF
Response.Write "<li>" & oRS.Fields("Description") & "</li>"
oRS.MoveNext
Loop
Response.Write "</ul>"
%>
答案 0 :(得分:3)
您没有将所有需要的参数传递给DATEDIFF函数,根据Microsoft参考,这是语法:
DateDiff(interval,date1,date2 [,firstdayofweek] [,firstweekofyear])
你正在传递DATEDIFF(now(),date)
,假设日期是一个日期时间变量,你没有传递第一个参数,间隔:
interval参数具有以下设置:
Setting |Description
---------+--------------
yyyy |Year
q |Quarter
m |Month
y |Day of year
d |Day
w |Weekday
ww |Week
h |Hour
n |Minute
s |Second
官方参考资料:
http://office.microsoft.com/en-us/access-help/datediff-funcion-HA001228811.aspx
答案 1 :(得分:1)
我认为你需要的是:
sql="SELECT * FROM Meetings where DATEDIFF(d, now(), date) <= 1"
您询问DATEDIFF但不告诉您想要返回的数据(日,分,秒等)
答案 2 :(得分:1)
您需要将SQL更改为: mySQL =&#34; SELECT * FROM会议中DATEDIFF(&#39; d&#39;,date(),date)&lt; = 1&#34;
请注意,差异类型d应在引号内。