Доступ к формату даты SQL

Как я могу получить запись на основе свойства Date? Я пытаюсь:

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

который я использую, но получаю:

"Несоответствие типов данных в выражении критериев"


Решение проблемы: должно быть:

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

Нет кавычек.

Ответ 1

В тех случаях, когда в предложениях используется

columnName = #mm/dd/yyyy#

Ответ 2

Вы хотите использовать формат даты SQL: '# 2011-12-16 #'

Ответ 3

Используйте функцию cast to DATETIME, CDATE(), которая будет соблюдать региональные настройки машины. Тем не менее, по-прежнему неплохо использовать однозначный формат даты, а формат ISO 8601 является хорошим.

Также обратите внимание, что Access не имеет типа данных даты: его единственный тип временных данных DATETIME и, как следует из его названия, всегда имеет элемент времени с точностью до одной второй гранулы времени, даже если это время происходит с быть полночь. Поэтому рекомендуется всегда включать значение времени в гранулу во второй раз во всех литералах DATETIME, например.

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

Еще одно преимущество вышеизложенного заключается в том, что пользовательский интерфейс доступа не будет пытаться переформатировать литерал DATETIME, потому что он удерживается как строка.