1. 程式人生 > >ACCESS中如何比較日期和時間,使用DateDiff函式

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的內容