Value '0000-00-00 00:00:00' can not be represented as Timestamp

问题:

  代码中查询MySQL的结果集时报错,提示Value ‘0000-00-00 00:00:00’ can not be represented as java.sql.Timestamp;刚开始以为是代码中格式化结果集中的日期报错,找了一遍发现并没有对日期进行格式化,发现是查询的结果集中某数据行的日期值为0000-00-00 00:00:00。因MySQL的时间类型datetime范围是1000-01-01 00:00:00 到 9999-12-31 23:59:59,所以报错。

解决方法:

  将日期改为正常日期即可。

转载说明

最近线上代码没有改动,但页面没有任何数据,追查日志发现错误如文中所述,随之搜索一番,发现问题与此相同,后得知是另一位同事增加了一个时间字段,默认值设置的是“0000-00-00 00:00:00”,因此报错,参考原作者的解决方案得以解决,便记录一下。

原文链接如下:
错误:Value ‘0000-00-00 00:00:00’ can not be represented as java.sql.Timestamp;的解决

    原文作者:Joyven
    原文地址: https://segmentfault.com/a/1190000008234044
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞