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

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

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

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

上面字段那种,我的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

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

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

问题解决

 

相关文章:

  • 2021-08-08
  • 2022-03-04
  • 2021-07-17
  • 2022-12-23
  • 2021-08-11
  • 2022-01-02
  • 2022-02-04
猜你喜欢
  • 2021-09-16
  • 2022-12-23
  • 2021-08-22
  • 2022-12-23
  • 2021-04-19
  • 2021-05-21
相关资源
相似解决方案