January 27th, 2010
aErOnz`Can’t convert value ‘0000-00-00 00:00:00′ to TIMESTAMP
1 Comment », Database, General, Java, Programming, Programming Tips, by aErOnz`java.sql.SQLException: Cannot convert value ‘0000-00-00 00:00:00′ from column 7 to TIMESTAMP.
..
หากใครเคยเจอปัญหานี้ ตามมาทางนี้เลยครับ ผมมีคำตอบ
การแก้ปัญหานี้มีสองวิธีคือ
1. ไปเซ็ตค่า URL ในการติดต่อ database ว่า ?zeroDateTimeBehavior=convertToNull เช่น
jdbc:mysql://localhost/test?zeroDateTimeBehavior=convertToNull
2. ในขณะที่เราเขียนโปรแกรม (ภาษา Java)ในการติดต่อ database ให้เราเซ็ต Connection Properties ดังนี้
Class.forName(driver).newInstance(); connection = (Connection) DriverManager.getConnection(url + dbName, userName, password); connection.setZeroDateTimeBehavior("convertToNull");
ทีนี้เมื่อเรารันโค้ด ที่ทำให้เกิด Exception ดังกล่าว
System.out.println(">>>> this is zero = "+rs.getTimestamp("finish_date"));
จะได้ผลลัพธ์เป็น
>>>> this is zero = null
หรือถ้าเป็น
connection.setZeroDateTimeBehavior("round");
จะได้ผลลัพธ์เป็น
>>>> this is zero = 0001-01-01 00:00:00.0
ซึ่งการเซ็ต zeroDateTimeBahavior สามารถดูรายละเอียดได้ ที่นี่
Last 5 posts by aErOnz`
- aErOnz`Atomic transaction with ActiveRecord - January 21st, 2010
- aErOnz`Groovy On Grails "Hello World" with Netbeans - November 25th, 2009
- aErOnz`Groovy On Grails Introduction - November 25th, 2009
- aErOnz`[SQL] How to select NULL value - November 13th, 2009
- aErOnz`Grant user for MySQL database - November 12th, 2009

best of www.