sql >> Database >  >> RDS >> Oracle

TO_DATE probleem met Oracle DBMS_SQL.EXECUTE functie

Mijn eerste standpunt hierover zou zijn dat de STP P_USER_TIME() is het inkorten van de tijdstempel. Als u er echter zeker van bent dat dit mogelijk NIET het geval is, kunt u proberen-

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;

Opmerking:er zijn een aantal aan datum en tijd gerelateerde bugs met betrekking tot ODBC-stuurprogramma's. Bijvoorbeeld - Bug 11864041 - TIMESTAMP VARIABLE DOORGEVOERD ALS VARCHAR VAN ODBC DOOR VEROORZAAKT WAARDE CORRUPT (Oracle Support )



  1. FILEPROPERTY() gebruiken in SQL Server

  2. sql/mysql-filter met alleen de maximale waarde

  3. Voer SQL Server Stored Procedure uit via Database Link van Oracle

  4. Hoe een tijdelijke MySQL-tabel in een bestand te dumpen?