MSAccess: запрос возврата для конкретной даты из значения даты и времени - PullRequest
1 голос
/ 26 марта 2019

Я пытаюсь выполнить запрос из связанной таблицы в MS SQL Server с полем даты и времени. Я пытаюсь выполнить простой запрос для поиска записей на определенную дату (#03/24/2018#), но, поскольку в поле даты и времени также есть время, я не получаю никаких записей, если я не укажу временной диапазон, используя BETWEEN с время (Between #03/24/2018 00:00:00 AM# And #03/24/2018 11:59:59 PM#).

Исходный запрос, который не возвращает желаемый результат:

SELECT *
WHERE MyDateTimeField) = #3/24/2018#;

Запрос

SELECT *
WHERE MyDateTimeField) Between #3/24/2018 00:00:00 AM# And #3/24/2018 23:59:59#);

Есть ли обходной путь, чтобы не использовать оператор BETWEEN со временем?

1 Ответ

0 голосов
/ 27 марта 2019

Чтобы избежать доли времени, отметьте MyDateTimeField равным / большим, чем искомый день, и меньшим, чем на следующий день:

SELECT *
FROM MyTable
WHERE 
    MyDateTimeField >= #3/24/2018# 
  AND 
    MyDateTimeField < DateAdd("d",1,#3/24/2018#);

В отличие от преобразования MyDateTimeField на сегодняшний день, это не мешает использованию индекса и обрабатывает Null Значения MyDateTimeField.

...