将ASP与SQL查询,时间函数相结合

时间:2014-05-08 12:47:54

标签: sql ms-access asp-classic

您好我需要将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>"

%>

3 个答案:

答案 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应在引号内。