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

PreparedStatementおよびDatebind パラメータを使用することをお勧めします。また、使用することができます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 に答える