0
Я пытаюсь выполнить этот запрос, но он возвращает «Переполнение».SQL DateSerial возвращает «overflow»
SELECT tblReadings.DateRead
FROM tblReadings
WHERE (((tblReadings.DateRead) Between DateSerial(Date(),Date(),1) And DateSerial(Date(),Date()-10,1)));
Следующее также возвращает «Переполнение».
SELECT tblReadings.DateRead
FROM tblReadings
WHERE (((tblReadings.DateRead)=DateSerial(Date(),Date(),1)));
SELECT tblReadings.DateRead
FROM tblReadings
WHERE (((tblReadings.DateRead)=DateSerial(2016,Date(),1)));
следующее дает только правильный результат (1 декабря 2016):
SELECT tblReadings.DateRead
FROM tblReadings
WHERE (((tblReadings.DateRead)=DateSerial(2016,12,1)));
Я декомпилировали базу данных и получил точно такие же результаты.
Прочитайте, что вы пишете. Что бы вы ожидали 'DateSerial (Date(), Date(), 1)' для создания? что-то вроде 'DateSerial (47865, 47865, 1)', что явно не является допустимой последовательной датой (какой месяц 47865 в году 47865?). Вы хотите извлечь год и месяц из этих дат, а не всю дату. –