MySQL:Value '0000-00-00' can not be represented as java.sql.Date问题

骑猪看日落 2021-09-23 07:42 315阅读 0赞

使用Java或者Scala读取MySQL数据库时出现 ‘0000-00-00’ 问题。

20190916231122885.png

原因:

DATE类型 ‘0000-00-00 00:00:00’ 可以在MySQL中作为特殊值存储,但在 java.sql.Date 中是不合法的。 如果JDBC中没有指定zeroDateTimeBehavior值,默认是抛出异常。

解决办法:

  1. zeroDateTimeBehavior=convertToNull,返回 null。

  2. zeroDateTimeBehavior=round,返回最近的日期,即 0001-01-01。

如:

  1. url = jdbc:mysql://192.168.100.45:3306/base_conf_platform?zeroDateTimeBehavior=convertToNull
  2. url = jdbc:mysql://192.168.100.45:3306/dataspy?characterEncoding=UTF-8&zeroDateTimeBehavior=round

发表评论

表情:
评论列表 (有 0 条评论,315人围观)

还没有评论,来说两句吧...

相关阅读