JDBC Null Handling untuk DATETIME Nilai 0000-00-00 00:00:00
MySQL merawat DATETIME nilai 0000-00-00- 00 00:00:00 sebagai "quasi-null" nilai dan cuba mendapatkan semula nilai seperti rentetan daripada sambungan JDBC boleh menyebabkan pengecualian.
Untuk mengendalikan isu ini, pertimbangkan untuk menggunakan penyelesaian berikut:
Pilihan 1: Menghantar kepada CHAR
Anda boleh secara eksplisit menghantar lajur DATETIME ke CHAR dalam SQL anda pertanyaan:
SELECT CAST(add_date AS CHAR) AS add_date
Ini akan mengembalikan rentetan DATETIME mentah tanpa menghantarnya ke jenis data tertentu.
Pilihan 2: Menggunakan Konfigurasi JDBC
Sebagai alternatif, anda boleh mengkonfigurasi URL JDBC anda dengan zeroDateTimeBehavior parameter:
jdbc:mysql://yourserver:3306/yourdatabase?zeroDateTimeBehavior=convertToNull
Dengan konfigurasi ini, nilai DATETIME 0000-00-00 00:00:00 akan ditukar secara automatik kepada NULL dalam ResultSet anda.
Parameter zeroDateTimeBehavior boleh mengambil masa yang berbeza nilai:
Perhatikan bahawa tetapan ini mempengaruhi semua lajur DATETIME dalam pangkalan data anda.
Sumber:
Atas ialah kandungan terperinci Bagaimana Mengendalikan Nilai 0000-00-00 MySQL 00:00:00 DATETIME dengan JDBC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!