Oracle To_Date问题

时间:2012-08-10 21:49:30

标签: java oracle function oracle10g native

  

可能重复:
  TO_DATE issue with Oracle DBMS_SQL.EXECUTE function

我正在使用一个将日期作为varchar输入的函数,并且n将它传递给另一个过程。我可以看到过去与日期关联的时间没有插入到某个场景中。请在下面找到我的功能

iv_plsql4 :='10-AUG-2012 07:30:30';
ln_dbms_cur := DBMS_SQL.OPEN_CURSOR;
iv_plsql2 := BEGIN PKG_PRADEEP.P_INSERTDATE(to_date(iv_plsql4,'DD-MM-YYYY HH24:MI:SS'));

DBMS_OUTPUT.put_line(iv_plsql);
DBMS_SQL.PARSE(ln_dbms_cur,iv_plsql,DBMS_SQL.NATIVE);
ln_cur_execute := DBMS_SQL.EXECUTE(ln_dbms_cur);

此代码将日期插入数据库,但时间为12:00 A.M。

但如果我更改了下面给出的字符串iv_plsql2,则会使用TIME字段插入日期。

iv_plsql2 := BEGIN PKG_PRADEEP.P_INSERTDATE(to_date('10-AUG-2012 07:30:30','DD-MM-YYYY HH24:MI:SS'));

有人可以解释为什么会这样吗?

1 个答案:

答案 0 :(得分:0)

PL / SQL: 您的日期格式应为DD-MON-YYYY,而不是DD-MM-YYYY。

爪哇: 您在CallableStatement上使用setInt来设置日期字符串。这不可能是正确的,事实上我不确定它是如何编译的。