有问题的 '0000-00-00 00:00:00' DATETIME value,代表准空状态,在尝试检索它时通常会触发异常使用 ResultSet.getString() 作为字符串。要解决此问题,请考虑以下选项:
1。转换为 CHAR
要获取数据库中显示的原始 DATETIME 字符串,请使用特定于 MySQL 的查询:
SELECT CAST(add_date AS CHAR) AS add_date
2。 JDBC URL 配置
或者,您可以将 ZeroDateTimeBehavior=convertToNull 附加到您的 JDBC URL:
jdbc:mysql://yourserver:3306/yourdatabase?zeroDateTimeBehavior=convertToNull
这会将 JDBC 配置为转换 '0000-00-00 00:00:00 ' 值为 NULL,允许您检索它们而不触发例外。
3. ZeroDateTimeBehavior 配置属性
对于 Connector/J 版本 3.1 及更高版本,zeroDateTimeBehavior 属性提供更多自定义功能。通过将其设置为异常、convertToNull 或舍入,您可以指定如何处理 DATETIME 值:
有关此配置属性的更多详细信息,请参阅 MySQL 手册。
注意: 在 MySQL Connector/J 5.1.15 中,一个错误影响了 ZeroDateTimeBehavior=convertToNull 功能。有关错误修复的更新,请参阅官方网站的 CHANGELOGS。
以上是如何在 JDBC 中处理'0000-00-00 00:00:00”DATETIME 值?的详细内容。更多信息请关注PHP中文网其他相关文章!