0

我有以下列值,我将其转换并存储在另一列中

Nov 22 2014 00:00:00 AM

现在我使用以下查询将其转换为日期格式并存储在另一列中

UPDATE DataNov2014 SET Datee = str_to_date(Date,'%d %b %Y %H:%i:%s');

但我收到以下异常

线程“主”java.sql.SQLException 中的异常:日期时间值不正确:函数 str_to_date 的“2014 年 11 月 22 日 00:00:00 AM”

我的查询/日期格式有什么错误吗?
任何帮助将不胜感激,谢谢

4

3 回答 3

0

假设您的字段Datee数据类型是Datetime

UPDATE DataNov2014 SET Datee = str_to_date('Nov 22 00:00:00 AM','%M %d %Y %H:%i:%s');

于 2014-11-22T10:28:26.133 回答
0

我建议你使用一个PreparedStatement和一个Date绑定参数。此外,您可以使用try-with-resources. 把它们放在一起,就像

String sql = "UPDATE DataNov2014 SET Datee = ?";
DateFormat sdf = new SimpleDateFormat("MM-dd-yyyy HH:mm:ss");
try (PreparedStatement ps = conn.prepareStatement(sql)) {
    Date theDate = sdf.parse("11-22-2014 00:00:00");
    ps.setDate(1, new java.sql.Date(theDate.getTime()));
    int count = ps.executeUpdate();
    if (count > 0) {
        System.out.printf("Query updated %d rows.%n", count);
    } else {
        System.out.println("Query didn't update any rows");
    }
} catch (Exception e) {
    e.printStackTrace();
}
于 2014-11-22T09:18:53.640 回答
0

提这个

UPDATE DataNov2014 SET Date= to_char(Date,'mon dd yyyy mm:ss:hh');
于 2014-11-22T09:10:31.867 回答