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

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

Barbara Streisand
Lepaskan: 2025-01-02 13:05:38
asal
690 orang telah melayarinya

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

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
Salin selepas log masuk

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
Salin selepas log masuk

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:

  • pengecualian: Melemparkan pengecualian (lalai)
  • convertToNull: Menukar nilai kepada NULL
  • pusingan: Membundarkan nilai kepada nilai terdekat yang terdekat (0001-01-01)

Perhatikan bahawa tetapan ini mempengaruhi semua lajur DATETIME dalam pangkalan data anda.

Sumber:

  • Manual MySQL: https://dev.mysql.com/doc/connector-j/5.1/ms/connector-j-reference-configuration-properties.html

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!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan