Доступ к формату даты SQL - PullRequest
10 голосов
/ 16 декабря 2011

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

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

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

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


Проблема решена: Это должно было быть:

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

Кавычек нет.

Ответы [ 3 ]

13 голосов
/ 16 декабря 2011

Для предложений where используйте

columnName = #mm/dd/yyyy#
10 голосов
/ 16 декабря 2011

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

4 голосов
/ 16 декабря 2011

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...