Между оператором для сравнения дат не работает должным образом в запросе MS Access DB

У меня есть простой запрос как

Select *
from myTable tran

Where  tran.Party = 13  
AND  
Format(TransactionDate,'dd-mmm-yyyy') BETWEEN #07-Jan-2020# AND #11-Feb-2020# 

Который возвращает только одну запись, где датой транзакции является «07-Jan-2020», а не другие записи, попадающие между этими датами.

Обновить

введите описание изображения здесь

Обновление 2:

Вместо оператора «Между», если я использую оператор «Больше чем» & «Меньше»:

Select * from CylinderTransactions tran

Where  tran.Party = 13  AND
Format(TransactionDate,'dd-mm-yyyy') >= #07-Jan-2020# 
AND Format(TransactionDate,'dd-mm-yyyy') <= #11-Feb-2020# 

Затем он получает 3 записи: одну с 7 января и 2 с 11 февраля, но еще одну запись от 15 января (см. Предыдущий снимок фактических данных.

Всего 1 ответ


Фильтруйте само значение даты и никогда не используйте буквальные месяцы:

Where  
    tran.Party = 13  
    AND
    TransactionDate BETWEEN #2020/01/07# AND #2020/02/11# 

Есть идеи?

10000