"Data Type Mismatch in criteria expression" 在 MS-Access 中 SQL
"Data Type Mismatch in criteria expression" in MS-Access SQL
MS-Access SQL下面的查询returns一个"Data Type Mismatch in criteria expression"
错误
SELECT DateSerial(2016,Month(DOB),Day(DOB)) AS AnnDate
FROM DonorMaster WHERE DateSerial(2016,Month(DOB),Day(DOB)) > Date()
当 运行 没有 ">"
运算符时,它 运行 正确并且所有返回的行都有数据。
应该如何修复错误?
您的 table 很可能包含一个或多个 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();
MS-Access SQL下面的查询returns一个"Data Type Mismatch in criteria expression"
错误
SELECT DateSerial(2016,Month(DOB),Day(DOB)) AS AnnDate
FROM DonorMaster WHERE DateSerial(2016,Month(DOB),Day(DOB)) > Date()
当 运行 没有 ">"
运算符时,它 运行 正确并且所有返回的行都有数据。
应该如何修复错误?
您的 table 很可能包含一个或多个 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();