Rumah >pangkalan data >tutorial mysql >Bagaimana Mengendalikan Nilai 0000-00-00 MySQL 00:00:00 DATETIME dalam JDBC?

Bagaimana Mengendalikan Nilai 0000-00-00 MySQL 00:00:00 DATETIME dalam JDBC?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-25 07:10:17695semak imbas

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

Menguruskan Nilai DATETIME 0000-00-00 00:00:00 dalam JDBC

jenis data DATETIME "MySQL membenarkan storing -null" nilai yang diwakili oleh 0000-00-00 00:00:00. Mendapatkan semula nilai sedemikian menggunakan JDBC boleh menjadi masalah, berpotensi mengakibatkan pengecualian atau hasil yang tidak dijangka.

Penyelesaian Alternatif tanpa Casting

Satu pendekatan untuk mengendalikan nilai ini ialah mengubah suai URL JDBC, menambah yang berikut parameter:

?zeroDateTimeBehavior=convertToNull

Ini mengarahkan pemandu untuk menukar nilai DATETIME 0000-00-00 00:00:00 kepada NULL dan bukannya membuang pengecualian.

Sumber: Manual MySQL

Manual MySQL menyediakan tambahan cerapan tentang isu ini:

  • Nilai DATETIME semua sifar tidak boleh diwakili dengan pasti dalam Java.
  • Connector/J 3.1 membuang pengecualian apabila menemui nilai tersebut secara lalai.
  • Harta zeroDateTimeBehavior membenarkan penyesuaian ini tingkah laku:

    • exception (lalai): Melemparkan SQLException.
    • convertToNull: Mengembalikan NULL dan bukannya tarikh.
    • pusingan: Membundarkan tarikh kepada 0001-01-01.

Atas ialah kandungan terperinci Bagaimana Mengendalikan Nilai 0000-00-00 MySQL 00:00:00 DATETIME dalam JDBC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn