Votre masque de format doit correspondre au format de la chaîne que vous convertissez. Donc, vous voudriez soit ajouter SS
au masque de format ou supprimer les secondes de la chaîne
INSERT INTO TBL(ID,START_DATE)
values (123, TO_DATE ('3/13/2012 9:22:00 AM', 'MM/DD/YYYY HH:MI:SS AM'))
ou
INSERT INTO TBL(ID,START_DATE)
values (123, TO_DATE ('3/13/2012 9:22 AM', 'MM/DD/YYYY HH:MI:SS AM'))
Si vous voulez accepter une chaîne qui contient des secondes mais que vous ne voulez pas stocker les secondes dans la base de données (auquel cas Oracle stockera toujours 0 pour les secondes), vous pouvez utiliser le TRUNC
fonction
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') )