select substr(date_time,1,10),count(*) from A group by substr(date_time,1,10)
date_time的时间格式是YYYYMMDDHHMMSS
此错误是因为Mysql5.7版本及以上版本的datetime值不能为'0000-00-00 00:00:00',
处理方法:
1.单独导出使用了datetime字段类型,并且值有0000-00-00 00:00:00'的表,批量修改掉值在导入,此方法工作量大。
2.修改mysql.int
在[mysqld]添加一项:sql_mode=NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,支持特殊的语法,这样就可以导入了,导入完毕后,移除兼容项即可。此方法简单,建议使用此方法。
然后网上搜素了一下解决方案如下:原来是jdbc连接的问题改成这样jdbc:mysql://localhost:3306/brilliant?user=conglin&password=conglin&useUnicode=true&characterEncoding=gbk&zeroDateTimeBehavior=convertToNullDatetimes with all-zero components (0000-00-00 ...) — These values can not be represented 关于所有Datetime类型由0组成的数据,这些值不能在java中被可靠的表示reliably in Java.Connector/J 3.0.x always converted them to NULL when being read from a ResultSet.当这些值正在从ResultSet容器中读取时候,Connector/J 3.0.x 一直把他们转换为NULL值。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)