2011-12-15 141 views
10

如何根據Date屬性檢索記錄?我想:訪問SQL日期格式

WHERE Meetings.[MDate] = '16/12/2011' 

這是我使用的格式,但我得到:

「標準表達式中數據類型不匹配」


問題解決了:應該已經:

WHERE Meetings.[MDate] = 16/12/2011 

不帶引號。

+1

是什麼工具? MSACCESS? – wallyk 2011-12-15 21:01:19

回答

10

你要使用SQL日期格式: '#2011-12-16#'

13

對於where子句中使用

columnName = #mm/dd/yyyy# 
4

使用CAST到DATETIME功能,CDATE(),這將兌現機器的區域設置。儘管如此,使用明確的日期格式仍然是一個好主意,並且ISO 8601格式是一個不錯的格式。

還要注意的是Access沒有日期數據類型:其唯一的時間數據類型爲DATETIME,正如它的名字所暗示的,總是有一個時間元素精確到秒的時間顆粒,即使那個時候發生是午夜。因此,總是在所有的文字中包含一個時間值到一秒鐘的粒子是一個好主意,例如,

WHERE Meetings.MDate = CDATE('2011-12-16 00:00:00'); 

另一個優點以上就是訪問UI將不會嘗試重新格式化DATETIME文字,因爲它被保存爲一個字符串。