我的java蓝图中的日期格式为月 - 日 - 年。 这是它的代码
public String getFormattedDate() {
return new SimpleDateFormat("MM-dd-yyyy").format(dueDate);
}
我想在月 - 日 - 年使用相同的格式将此日期转换或插入到mysql预编译语句中。但有些我怎么也无法让它发挥作用。 我有类似的东西
ps.setString(5, out.getFormattedDate());
当我运行我的代码时,我收到此错误消息
com.mysql.jdbc.MysqlDataTruncation:数据截断:日期不正确 值:'04 -01-2017',用于第1行的'DueDate'列
这是我正在使用的插入语句,如果有帮助我就是
String query = "INSERT INTO Checkout (FirstName, LastName, EmailAddress, BookTitle, DueDate) "
+ "VALUE (?, ?, ?, ?, ?)";
我希望有些人可以帮助我。
答案 0 :(得分:0)
MySQL使用' YYYY-MM-DD'中的DATE值。格式。 MYSQL reference
也许你可以使用STR_TO_DATE():
答案 1 :(得分:0)
您将String值设置为Date值。 您的DueDate列是日期值,因此您必须将其更改为varchar,或者在执行select时必须使用DATE_FORMAT函数。 所以你有两个选择:
*使用DATE_FORMAT函数:
SELECT DATE_FORMAT(DueDate,'%m/%d/%Y') AS 'FormatDate' FROM Checkout
(此选择返回String值)
*在MySQL中将DueDate更改为varchar。
希望我解决了你/别人的问题。 (有点晚了)。