您好我有一个列(类型日期)。我想插入自定义日期和时间而不使用 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?请任何一个帮助...
答案 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.,)";