有問題的'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 設定為轉換'00000-00-00 000 :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中文網其他相關文章!