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

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

Susan Sarandon
Susan Sarandonasal
2024-12-26 01:32:09927semak imbas

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

Mengendalikan Nilai DATETIME '0000-00-00 00:00:00' dalam JDBC

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:

  • exception: Melemparkan pengecualian SQL (lalai)
  • convertToNull: Returns NULL
  • pusingan: Membundarkan tarikh kepada 0001-01-01

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!

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