ACCESS中如何比较日期和时间,使用DateDiff函数

DateDiff,语法如下:
DateDiff( 间隔字符, 日期1, 日期2 [,firstdayofweek[, firstweekofyear]])
一般使用 DateDiff( 间隔字符, 日期1, 日期2) 就足够了。
解释一下:此函数返回间隔的日期或时间,返回的是年、月、日就要设置间隔字符了,比如间隔字符为:"yyyy" 就表示比较年份, "d" 比较日期,"m" 比较月份,如果日期1晚于日期1,那么会返回负数。
举个例子:
<%=DateDiff( "d", #2008-1-10#, #2008-1-2#)%>
结果是:-8
ACCESS查询中怎么写日期比较的SQL语句?
1、首先在设计ACCESS数据表时,日期字段必须为:日期/时间,如果字段类型为字符等,日期比较时会不正确。
2、SQL语句例子(查找比指定日期后的记录):
代码一
select * from 表名 where DateDiff( "d", 日期字段列名, #指定日期#) <= 0
代码二
select * from 表名 where 日期字段列名>#指定日期#
注意指定日期两边要用井号括起来的。

 

 

PS:ACCESS数据库中的时间字段的格式形如Table.dateTime:2011-6-10 16:36:24

当前而中传入数据的格式为2011-6-10

如果用select * from 表名 where Table.dateTime=#2011-6-10#

显示会返回0行数据

 

于是在ACCESS数据库中用到函数

SELECT * FROM view_log
WHERE  DateDiff( "d", view_log.dateTime, #2011-6-11#) <=0 AND DateDiff( "d", view_log.dateTime, #2011-6-11#)>=0

就找出了时间为2011-6-11的内容

你可能感兴趣的:(sql)