>데이터 베이스 >MySQL 튜토리얼 >ORA-01861: SQL의 '리터럴이 형식 문자열과 일치하지 않습니다' 오류를 해결하는 방법은 무엇입니까?

ORA-01861: SQL의 '리터럴이 형식 문자열과 일치하지 않습니다' 오류를 해결하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-28 13:18:10511검색

How to Resolve the ORA-01861:

ORA-01861: SQL의 "리터럴이 형식 문자열과 일치하지 않음" 오류 해결

데이터베이스에 데이터를 삽입하려고 하면 사용자가 "리터럴이 형식 문자열과 일치하지 않습니다."라는 ORA-01861 오류가 발생할 수 있습니다. 이 오류는 SQL 문에 사용된 리터럴 형식이 형식 문자열에 정의된 예상 형식과 일치하지 않을 때 발생합니다.

제공된 예에서는 문자열 리터럴 사용으로 인해 오류가 발생합니다. DOB 열의 경우. 오류 메시지는 '1989-12-09' 리터럴이 예상 날짜 형식을 따르지 않음을 나타냅니다. 이 문제를 해결하려면 문자열 리터럴을 날짜 값을 인식된 날짜 형식으로 변환하는 표현식으로 바꿔야 합니다.

권장되는 해결 방법은 TO_DATE() 함수를 사용하여 문자열 리터럴을 적합한 날짜 형식으로 변환하는 것입니다. 날짜 형식. 이 경우 표현식은 다음과 같습니다.

TO_DATE('1989-12-09','YYYY-MM-DD')

이 표현식을 활용하면 날짜 값이 DOB에서 예상하는 형식과 호환되는 'YYYY-MM-DD' 형식으로 변환됩니다. 열. 이 수정된 문은 ORA-01861 오류가 발생하지 않고 성공적으로 실행되어야 합니다.

INSERT INTO Patient  
(
  PatientNo,
  PatientFirstName,
  PatientLastName,
  PatientStreetAddress,
  PatientTown,
  PatientCounty,
  PatientPostcode,
  DOB,
  Gender,
  PatientHomeTelephoneNumber,
  PatientMobileTelephoneNumber
)
VALUES 
(
  121, 
  'Miles', 
  'Malone', 
  '64 Zoo Lane', 
  'Clapham', 
  'United Kingdom',
  'SW4 9LP',
  TO_DATE('1989-12-09','YYYY-MM-DD'),
  'M',
  02086950291,
  07498635200
);

올바른 형식 사양을 준수함으로써 개발자는 ORA-01861 오류를 방지하고 SQL 문이 성공적으로 실행되도록 할 수 있습니다.

위 내용은 ORA-01861: SQL의 '리터럴이 형식 문자열과 일치하지 않습니다' 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.