DateValue函数和Group By:条件表达式中的数据类型不匹配

时间:2016-10-20 08:50:46

标签: ms-access

我正在使用Access 2010,并且有一个名为$client = new Google_Client(); $client->setApplicationName("MY_APP_NAME"); 的表格(表格是从Excel导入的,日期列的格式为Table1):

date

我已经接受了我无法在Access中执行正常的SQL操作。但为什么以下简单的地狱查询以错误date xy --------------------------------- 19.10.2016 14:10:51 jljh 19.10.2016 13:13:28 kgkhg 19.10.2016 12:53:15 asd 结束?

data type mismatch in criteria expression

2 个答案:

答案 0 :(得分:1)

首先,您可以在Access中执行“正常的SQL事务”。

然后, DateValue 不接受 dot 作为日期分隔符,因此:

SELECT DateValue(Replace([DATE], ".", "/")) as dt, COUNT(*)
FROM Table1
GROUP BY DateValue(Replace([DATE], ".", "/")) 

答案 1 :(得分:0)

你 - 就是我 - 说这个表是从Excel导入的。所以回到Excel,在那里进行日期截断,再次重新导入它,你的 - 这是我的 - 查询将运行,好像它是"正常" SQL。没有比这个狗屎更直观的了。

编辑:同时我也弄清楚问题是什么:日期列中有未填充的值。所以DateValue不知道如何处理它们并且必须抛出异常。但是,如果没有group by语句,这个错误就不会发生了。所以这次只有50%的责任归咎于Access,另一部分是关于我:-)