>  기사  >  데이터 베이스  >  ora01843 유효하지 않은 달이 나타나면 어떻게 해야 합니까?

ora01843 유효하지 않은 달이 나타나면 어떻게 해야 합니까?

藏色散人
藏色散人원래의
2020-03-31 10:34:427960검색

ora01843 유효하지 않은 달이 나타나면 어떻게 해야 합니까?

ora01843 유효하지 않은 달이 나타나면 어떻게 해야 하나요?

다음 SQL 문을 실행할 때

select TO_DATE('01-FEB-1988', 'DD-MON-YYYY') from dual;

다음 오류가 발생했습니다.

ora01843 유효하지 않은 달이 나타나면 어떻게 해야 합니까?

현재 시스템 시간의 날짜 형식을 다시 쿼리한 결과 다음을 발견했습니다.

실행:

SELECT TO_CHAR(sysdate, 'DD-MON-YYYY','NLS_DATE_LANGUAGE = ''SIMPLIFIED CHINESE''') Chn,
        TO_CHAR(sysdate, 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = American') Ame,
        TO_CHAR(sysdate, 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = Japanese') Jap,
        TO_CHAR(sysdate, 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = english') Eng
FROM DUAL;

다음 결과는 다음과 같습니다.

ora01843 유효하지 않은 달이 나타나면 어떻게 해야 합니까?

SQL 문에서 첫 번째와 네 번째 줄의 TO_CHAR 함수가 각각 중국, 미국, 일본 및 영어에 대한 시스템 시간을 가져오는 것을 알 수 있습니다. 중국과 일본의 시간 형식은 2018년 7월 27일입니다

위의 문제에서 시간 형식을 "DD-MON-YYYY" 형식으로 변환하려면 ORA- 시스템이 영어 MON을 식별하지 않기 때문에 01843 오류가 발생합니다.

그래서 해결 방법은 다음과 같습니다.

1. select TO_DATE('01-FEB-1988', 'DD-MON-YYYY'에서 시간 필드를 변경합니다. ) 듀얼에서 중국어 형식(즉 "1998년 2월 1일")으로;

2 NLS_DATE_LANGUAGE 형식을 Aerican 또는 English

ALTER SESSION SET nls_date_language = 'SIMPLIFIED CHINESE';

권장: "

mysql 비디오 튜토리얼

"

위 내용은 ora01843 유효하지 않은 달이 나타나면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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