sql >> Databáze >  >> RDS >> Oracle

Problém TO_DATE s funkcí Oracle DBMS_SQL.EXECUTE

Můj první postoj k tomu by byl, že STP P_USER_TIME() zkracuje časové razítko. Pokud jste si však jisti, že to možná NENÍ, můžete zkusit-

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;

Poznámka – existuje řada chyb souvisejících s datem a časem souvisejících s ovladači ODBC. Například – Chyba 11864041 – PROMĚNNÁ ČASOVÉHO ZNÁMKA PŘESLA JAKO VARCHAR Z ODBC, ZPŮSOBUJE POŠKOZENÍ HODNOTY (Podpora Oracle )



  1. Skript pro import databáze mysql z konkrétního umístění souboru

  2. Formát data MySQL v Create Table

  3. jak se vyhnout sloupci v klauzuli „kde“, pokud je parametr „NOT PASSED“ postgresql

  4. SQL Server – booleovský doslov?