我在我的程序中使用sql语句。
stringBuffer sql=new StringBuffer();
sql.append("insert into customer (id,createddate) ");
sql.append("values (1,");
sql.append("'"+new Timestamp(System.currentTimeMillis())+"'");
String results=jdbcTemplate.update(sql.toString();
当我执行上述命令时,我得到了这个例外 嵌套异常是java.sql.SQLException:ORA-01843:不是有效月份
我应该绑定当前日期,我该如何解决这个问题。
感谢。
答案 0 :(得分:4)
如果您可以使用数据库的日期,请使用sysdate
,即:
stringBuffer sql=new StringBuffer();
sql.append("insert into customer (id,createddate) ");
sql.append("values (1,sysdate)");
或者您可以在查询中添加to_date
:
stringBuffer sql=new StringBuffer();
sql.append("insert into customer (id,createddate) ");
sql.append("values (1,to_date(");
sql.append("'"+<your TimeStamp converted to a String like yyyyMMddHHmmss>+"', 'yyyymmddhh24miss'");
或使用 PreparedStatement 作为here