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
642 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!

sumber:php.cn
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