Null Date di MySQL
Posted on March 4th, 2009 | by endy |Null Date di MySQL
Bila memiliki tipe data DATE di database MySQL, format standarnya adalah yyyy-MM-dd.
Jadi, bila kita mau mengisi 17 Agustus 1945, kita lakukan seperti ini
INSERT INTO hari_besar_nasional (tanggal, keterangan)
VALUES ('1945-08-17', 'Hari Kemerdekaan RI');
Bila kita tidak mengisikan tanggal alias NULL, maka MySQL akan mengisi kolom tersebut dengan nilai 0000-00-00. Sayangnya, nilai ini tidak diterima dengan baik oleh driver JDBC MySQL.
Berikut contoh kode program dalam Java
String sql = "select * from hari_besar_nasional";
ResultSet rs = connection.createStatement().executeQuery(sql);
while(rs.next()){
System.out.println("Tanggal : "+rs.getDate("tanggal");
System.out.println("Keterangan : "+rs.getString("keterangan");
}
rs.close();
Jika ada data yang berisi 0000-00-00, maka akan terjadi exception sebagai berikut:
java.sql.SQLException: Cannot convert value ‘0000-00-00 00:00:00′
Masalah ini dijelaskan di dokumentasi MySQL ini.
Solusinya adalah mengganti parameter koneksi database, yang tadinya seperti ini :
jdbc:mysql://localhost/nama_database
menjadi seperti ini
jdbc:mysql://localhost/nama_database?zeroDateTimeBehavior=convertToNull
5 Responses to “Null Date di MySQL”
By WishKnew on Mar 4, 2009 | Reply
Wah lucu juga ya, fitur di query, work aroundnya di settingan koneksi ke database. Kalau banyak fitur yang kayak gini apa gak ribet ya di connection stringnya?
By rohman on Mar 4, 2009 | Reply
waah terima kasih atas Artikelnya pak endy
akhirnya jalan Juga
Terima Kasih pak Endy
—salam—
rohman
By Martinus Ady H on Mar 12, 2009 | Reply
Wah makasih pak, saya jg kena masalah yg sama nich :”>
By handendari on Mar 27, 2009 | Reply
kalo saya langsung saya isi dengan nilai null juga bisa kok pak…