如何在java中处理具有值“0000-00-00 00:00:00”的日期[重复]
Posted
技术标签:
【中文标题】如何在java中处理具有值“0000-00-00 00:00:00”的日期[重复]【英文标题】:How to handle date having value "0000-00-00 00:00:00" in java [duplicate] 【发布时间】:2018-07-31 13:32:53 【问题描述】:如果日期值为:“0000-00-00 00:00:00”,如何在 java 中处理日期。我正在从 mysql 获取数据并遇到这种日期情况。请建议如何处理这种情况。
【问题讨论】:
【参考方案1】:设置 MySQL JDBC 驱动选项zeroDateTimeBehavior=convertToNull
。您可以在连接字符串中设置它。然后你不会得到这些日期,你会得到空值。
【讨论】:
在java端我无法处理?? 不行,因为你会从ResultSet.getDate()
或ResultSet.getObject()
得到它,已经太迟了。如果您坚持,可以在 Java 中设置连接字符串中的此选项。
@BleedCode 当然你可以在 Java 端处理,但我相信这不是一个可取的方式。您可以将日期检索为字符串,并执行特殊的解析逻辑。或者,让您的 SQL 在日期为零时检索 null(或其他一些特殊日期值)以上是关于如何在java中处理具有值“0000-00-00 00:00:00”的日期[重复]的主要内容,如果未能解决你的问题,请参考以下文章
值 '0000-00-00' 不能表示为 java.sql.Date
MySQL 关于 Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestam
如何在MySQL DATETIME字段中存储DATE / TIME / YEAR?
mysql中datetime类型字段为默认值0000-00-00 00:00:00怎么取出来
Caused by: java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java