mysql查表的时候报错:java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timest

在spark项目中读取mysql中的数据的时候,发生了报错:

原因:主要是因为数据库中有一些字段为null,无法进行转换:

上面字段那种,我的inserttime字段类型为timestamp类型,不为空,默认值为000-00-00 00:00:00,所以无法进行转换,所以要进行处理一下

所以这里要进行一下转换,需要在url中添加一些转换:

修改之前的url:

jdbc:mysql://localhost:3306/test?serverTimezone=UTC

修改之后的url:

jdbc:mysql://localhost:3306/test?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&serverTimezone=UTC

这样就不会报错了,会直接将000-00-00 00:00:00转换为null进行显示

问题解决

猜你喜欢

转载自www.cnblogs.com/Gxiaobai/p/10682938.html
今日推荐