日付を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 になります。
しかし、文字列 iv_plsql2 を以下のように変更すると、日付が TIME フィールドに挿入されます。
iv_plsql2 := BEGIN PKG_PRADEEP.P_INSERTDATE(to_date('10-AUG-2012 07:30:30','DD-MM-YYYY HH24:MI:SS'));
誰かがなぜこれが起こるのか説明できますか?