sql >> Base de Datos >  >> RDS >> Oracle

ORA-01855:AM/A.M. o PM/PM requerido

Su máscara de formato debe coincidir con el formato de la cadena que está convirtiendo. Entonces, querrá agregar SS a la máscara de formato o eliminar los segundos de la cadena

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'))

Si desea aceptar una cadena que contiene segundos pero no desea almacenar los segundos en la base de datos (en cuyo caso Oracle siempre almacenará 0 para los segundos), puede usar TRUNC función

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') )