Yang bermasalah '0000-00-00 00:00:00' DATETIME nilai, yang mewakili keadaan separa nol, sering mencetuskan pengecualian apabila cuba mendapatkan semula ia sebagai rentetan menggunakan ResultSet.getString(). Untuk menyelesaikan masalah ini, pertimbangkan pilihan berikut:
1. Menghantar ke CHAR
Untuk mendapatkan rentetan DATETIME mentah seperti yang dipaparkan dalam pangkalan data, gunakan pertanyaan khusus MySQL:
SELECT CAST(add_date AS CHAR) AS add_date
2. Konfigurasi URL JDBC
Sebagai alternatif, anda boleh menambah zeroDateTimeBehavior=convertToNull ke URL JDBC anda:
jdbc:mysql://yourserver:3306/yourdatabase?zeroDateTimeBehavior=convertToNull
Ini mengkonfigurasi JDBC untuk menukar '0000-00-00 00:00:00 ' nilai kepada NULL, membolehkan anda mendapatkannya tanpa mencetuskan pengecualian.
3. zeroDateTimeBehavior Configuration Property
Untuk Penyambung/J versi 3.1 dan ke atas, sifat zeroDateTimeBehavior menawarkan lebih banyak penyesuaian. Dengan menetapkannya kepada pengecualian, convertToNull atau bulat, anda boleh menentukan cara nilai DATETIME dikendalikan:
Rujuk manual MySQL untuk butiran lanjut tentang sifat konfigurasi ini.
Nota: Dalam MySQL Connector/J 5.1.15, pepijat menjejaskan ciri zeroDateTimeBehavior=convertToNull. Rujuk CHANGELOGS tapak web rasmi untuk mendapatkan kemas kini tentang pembetulan pepijat.
Atas ialah kandungan terperinci Bagaimana Mengendalikan Nilai '0000-00-00 00:00:00' DATETIME dalam JDBC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!