我正在使用一个将日期作为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'));
有人可以解释为什么会这样吗?
答案 0 :(得分:0)
PL / SQL: 您的日期格式应为DD-MON-YYYY,而不是DD-MM-YYYY。
爪哇: 您在CallableStatement上使用setInt来设置日期字符串。这不可能是正确的,事实上我不确定它是如何编译的。