如何使用java在oracle中插入自定义日期时间?

时间:2012-10-26 04:38:28

标签: java oracle date

您好我有一个列(类型日期)。我想插入自定义日期和时间而不使用 Preparedstatement .i已使用

String date = sf.format(Calendar.getInstance().getTime());
String query = "Insert into entryTbl(name, joinedDate, ..etc)  values ("abc", to_date(date, 'yyyy/mm/dd HH:mm:ss'))";
statement.executeUpdate(query);

但是文字不匹配错误。所以即使尝试了“SYSDATE”。它只插入日期而不是时间。那么如何使用java将日期时间插入oracle?请任何一个帮助...

2 个答案:

答案 0 :(得分:1)

强烈建议使用PreparedStatement来对抗潜在的SQL注入攻击,而不是构建原始SQL查询以与数据库进行交互。

也就是说,您可以将日期列的值指定为yyyy-MM-dd HH:mm:ss格式的字符串:

SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date = sf.format(Calendar.getInstance().getTime());
String query = "INSERT INTO entryTbl(name, joinedDate, ..etc.,)  values ('abc', '" 
    + date + "', ...etc.,)";
statement.executeUpdate(query);

答案 1 :(得分:0)

我认为yyyy/mm/dd HH:mm:ss应更新为:YYYY/MM/DD HH:MI:SS TZH:TZM并使用to_timestamp - documentation here

 String query = "INSERT INTO entryTbl(name, joinedDate, ..etc.,) "+
           "values ('abc', "+
           "TO_TIMESTAMP('"+dateString+"', 'YYYY/MM/DD HH:MI:SS TZH:TZM'), etc.,)";