我正在使用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
答案 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,另一部分是关于我:-)