sql >> Database >  >> RDS >> Oracle

ORA-01855:AM/AM of PM/PM verplicht

Uw formaatmasker moet overeenkomen met het formaat van de tekenreeks die u aan het converteren bent. U zou dus ofwel SS . willen toevoegen naar het formaatmasker of verwijder de seconden uit de tekenreeks

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

of

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

Als u een tekenreeks wilt accepteren die seconden bevat, maar u wilt de seconden niet in de database opslaan (in dat geval zal Oracle altijd 0 voor de seconden opslaan), kunt u de TRUNC gebruiken functie

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. Hoe alle privileges van een gebruiker in Oracle te tonen?

  2. Recursieve logica in PHP + MySQL

  3. Hoe verplaats ik het zip-bestand naar de blob-kolom in Java?

  4. Hoe de CHARACTER_LENGTH()-functie werkt in MySQL