sql >> Databasteknik >  >> RDS >> Oracle

ORA-01855:AM/A.M. eller PM/P.M. nödvändig

Din formatmask måste matcha formatet för strängen du konverterar. Så du vill antingen lägga till SS till formatmasken eller ta bort sekunderna från strängen

INSERT INTO TBL(ID,START_DATE) 
  values (123, TO_DATE ('3/13/2012 9:22:00 AM', 'MM/DD/YYYY HH:MI:SS AM'))

eller

INSERT INTO TBL(ID,START_DATE) 
  values (123, TO_DATE ('3/13/2012 9:22 AM', 'MM/DD/YYYY HH:MI:SS AM'))

Om du vill acceptera en sträng som innehåller sekunder men du inte vill lagra sekunderna i databasen (i vilket fall Oracle alltid lagrar 0 för sekunderna), kan du använda TRUNC funktion

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


  1. Ändra unik nyckel tillsammans i mysql

  2. Oändlig PHP while loop

  3. Hur skriver du ut resultatet av en PostgreSQL-fråga i CSV- eller TSV-format från kommandoraden?

  4. hur man visar resultatet av frågan