La tua maschera di formato deve corrispondere al formato della stringa che stai convertendo. Quindi vorresti aggiungere SS
nella maschera di formato o rimuovere i secondi dalla stringa
INSERT INTO TBL(ID,START_DATE)
values (123, TO_DATE ('3/13/2012 9:22:00 AM', 'MM/DD/YYYY HH:MI:SS AM'))
o
INSERT INTO TBL(ID,START_DATE)
values (123, TO_DATE ('3/13/2012 9:22 AM', 'MM/DD/YYYY HH:MI:SS AM'))
Se vuoi accettare una stringa che contiene secondi ma non vuoi memorizzare i secondi nel database (in tal caso Oracle memorizzerà sempre 0 per i secondi), puoi usare il TRUNC
funzione
INSERT INTO TBL(ID,START_DATE)
values (123, TRUNC( TO_DATE ('3/13/2012 9:22:00 AM', 'MM/DD/YYYY HH:MI:SS AM'), 'MI') )