2016-08-21 2 views
0

MS-Access SQL Query ниже она возвращает "Data Type Mismatch in criteria expression" ошибку«Тип данных Несовпадение в выражении критериев» в MS-Access SQL

SELECT DateSerial(2016,Month(DOB),Day(DOB)) AS AnnDate 
FROM DonorMaster WHERE DateSerial(2016,Month(DOB),Day(DOB)) > Date() 

При запуске без ">" оператора он работает правильно, и все возвращаемые строки имеют данные ,

Что нужно сделать, чтобы исправить ошибку?

+0

Какой тип данных поля [DOB]? Если дата, SQL должен работать нормально –

+0

Проверьте, чтобы DOB были NULL и соответствующим образом отрегулировали ваш запрос. – Rene

ответ

2

Ваш стол, скорее всего, содержит нулевые значения для одного или нескольких DOB. Это вызовет ошибку. Редизайн вашего запроса, например:

SELECT DateSerial(2016,Month(Nz(DOB, Date())),Day(Nz(DOB, Date()))) AS AnnDate 
FROM DonorMaster 
WHERE DateSerial(2016,Month(Nz(DOB, Date())),Day(Nz(DOB, Date()))) >Date(); 
+0

В таблице были значения NULL. Благодарю. – user1955215

Смежные вопросы