首頁 > 資料庫 > mysql教程 > 如何在 JDBC 中處理'0000-00-00 00:00:00”DATETIME 值?

如何在 JDBC 中處理'0000-00-00 00:00:00”DATETIME 值?

Susan Sarandon
發布: 2024-12-26 01:32:09
原創
919 人瀏覽過

How to Handle '0000-00-00 00:00:00' DATETIME Values in JDBC?

在JDBC 中處理DATETIME 值'0000-00-00 00:00:00'

有問題的'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 值:

  • 例外:引發 SQL 異常(預設)
  • convertToNull:傳回 NULL
  • round:將日期四捨五入為0001-01-01

有關此配置屬性的更多詳細信息,請參閱 MySQL 手冊。

注意: 在 MySQL Connector/J 5.1.15 中,一個錯誤影響了 ZeroDateTimeBehavior=convertToNull 功能。有關錯誤修復的更新,請參閱官方網站的 CHANGELOGS。

以上是如何在 JDBC 中處理'0000-00-00 00:00:00”DATETIME 值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板