错误信息:
Illegal mix of collations for operation '>='
SQL Error: 1271, SQLState: HY000
查询报错:
java执行语句如下:
select count(1) from t_user where username = ? and createtime >=? and createtime <=?
直接在命令行执行这条语句,将?替换成实际的查询没问题。一到程序执行就报错。
字符集没有问题。都是utf8的。
错误提示是:
· 错误:1271 SQLSTATE: HY000 (ER_CANT_AGGREGATE_NCOLLATIONS)
消息:对于操作'%s',非法混合了校对。
不明白是什么意思。中文和日期一起就有问题,单独的中文或者日期查询就没有问题。
郁闷到要死了。
打印出来的sql就是上面的那个
select count(1) from t_user where username = ? and createtime >=? and createtime <=?
这就是打印出来的语句。
在mysql的命令行直接替换参数没有问题。这个查询。
o = objects[i];//这里是i还是ii?