以文本方式查看主题 - 智睿软件_技术交流论坛 (http://www.zhirui.net/bbs/index.asp) -- Web程序开发 (http://www.zhirui.net/bbs/list.asp?boardid=22) ---- asp datediff函数,如何引用数据库中参数 (http://www.zhirui.net/bbs/dispbbs.asp?boardid=22&id=1227) |
-- 作者:zhirui -- 发布时间:2010-12-08 16:28:21 -- asp datediff函数,如何引用数据库中参数 在SQL中的正确写法是: sql="select * from [clients] where datediff(month,lastlogintime,getdate())>3" \'注意这里month没有使用任何的引号,同时使用的是getdate而不是now 在ACCESS中的正确写法是: sql="select * from [clients] where datediff(\'m\',lastlogintime,now())>3" \'这里的简写的m使用单引号,同时使用参数now |
-- 作者:zhirui -- 发布时间:2010-12-08 16:28:56 -- DateDiff函数 功能:返回两个日期之间的时间间隔。 语法:DateDiff(interval, date1, date2 [,firstdayofweek][, firstweekofyear]]) 语法参数: interval 必选。字符串表达式,表示用于计算 date1 和 date2 之间的时间间隔。有关数值,请参阅“设置”部分。 date1, date2 必选。日期表达式。用于计算的两个日期。 firstdayofweek 可选。指定星期中第一天的常数。如果没有指定,则默认为星期日。有关数值,请参阅“设置”部分。 firstweekofyear 可选。指定一年中第一周的常数。如果没有指定,则默认为 1 月 1 日所在的星期。有关数值,请参阅“设置”部分 参数设置: interval 参数可以有以下值: 设置 描述 yyyy 年 q 季度 m 月 y 一年的日数 d 日 w 一周的日数 ww 周 h 小时 m 分钟 s 秒 firstdayofweek 参数可以有以下值: 常数 值 描述 vbUseSystem 0 使用区域语言支持 (NLS) API 设置。 vbSunday 1 星期日(默认) vbMonday 2 星期一 vbTuesday 3 星期二 vbWednesday 4 星期三 vbThursday 5 星期四 vbFriday 6 星期五 vbSaturday 7 星期六 firstweekofyear 参数可以有以下值: 常数 值 描述 vbUseSystem 0 使用区域语言支持 (NLS) API 设置。 vbFirstJan1 1 由 1 月 1 日所在的星期开始(默认)。 vbFirstFourDays 2 由在新年中至少有四天的第一周开始。 vbFirstFullWeek 3 由在新的一年中第一个完整的周开始。 说明: 如果 date1 晚于 date2,则 DateDiff 函数返回负数。 例子: 比如计算我的年龄:<%=datediff("yyyy",#1984-3-13#,now())%> 运算后的结果:22 如果你想查前一天的,就: mytime=rs("time") \'//数据库中保存时间 nowtime=now() \'//当前时间 if datediff("d",mytime,nowtime)<1 then ..... end if |
-- 作者:zhirui -- 发布时间:2011-02-14 16:14:30 -- 方法如下: MS SQL数据库: SQL="... and Ap_addtime between \'"&request.Form("starttime")&"\' and \'"&DateAdd("d",1,""&request.Form("endtime")&"")&"\' ..." Access数据库: SQL="... and Ap_addtime between #"&request.Form("starttime")&"# and #"&DateAdd("d",1,""&request.Form("endtime")&"")&"# ..." 今天在做后台定单搜索的时候,遇到了时间段搜索,觉得初学的人可能会犯两个错误,在此列出,希望可以减少你宝贵的学习时间 1。把日期当字符串来操作,其实日期和数字一样,在SQL语句中,都不能加\'字符串\',否则会出现语法错误 2。选择某个日期中间的记录可以用between and 而不是用< > =等符号,而且日期之间也有讲究,access数据库的日期间用#日期#隔开,mssql用\'单引号,如: timestr类型为日期/时间 Dim dateStr1,DateStr2 DateStr1="2006-8-10" DateStr2=Date() sql="select * from Table where timestr between #"&DateStr1&"# and #"&DateStr2&"#" ASP比较时间的SQL语句,其中d为天数! access
|