Oracle
 sql >> Datenbank >  >> RDS >> Oracle

TO_DATE-Problem mit Oracle DBMS_SQL.EXECUTE-Funktion

Meine erste Haltung dazu wäre, dass der STP P_USER_TIME() schneidet den Zeitstempel ab. Wenn Sie jedoch sicher sind, dass dies möglicherweise NICHT der Fall ist, können Sie Folgendes versuchen:

DECLARE
   ret_int INTEGER;
   plsql_block  VARCHAR2(1000);
BEGIN
   plsql_block :='BEGIN P_USER_TIME(to_timestamp(''21-JUL-2012 03:30:30'',''DD-MON-YYYY HH24:MI:SS'')); END;';
   ret_int := DBMS_SQL.OPEN_CURSOR;
   DBMS_SQL.PARSE(ret_int,plsql_block,DBMS_SQL.NATIVE);
   ret_int_execute := DBMS_SQL.EXECUTE(ret_int);
   DBMS_SQL.CLOSE_CURSOR(ret_int);
EXCEPTION
WHEN OTHERS THEN
   DBMS_SQL.CLOSE_CURSOR(ret_int);
END;

Hinweis:Es gibt eine Reihe von Fehlern im Zusammenhang mit Datum und Uhrzeit im Zusammenhang mit ODBC-Treibern. Zum Beispiel – Fehler 11864041 – TIMESTAMP VARIABLE PASSED AS VARCHAR FROM ODBC, DAS VALUE ZUR BESCHÄDIGUNG VERURSACHT (Oracle Support )