문제

SELECT pd_end_dt,nrx_cnt
FROM wkly_lnd.lnd_wkly_plan_rx_summary
WHERE pd_end_dt >TO_DATE('01/01/2009')

그것은 오류 ORA-01843:유효하지 않은 한 달


나는 다음 그것 괜찮

선택 pd_end_dt,nrx_cnt 에서 wkly_lnd.lnd_wkly_plan_rx_summary 는 pd_end_dt>'01-Jan-09'

하지만하고 싶은 경우에는 주한 현명한 데이터는 어떻게 할 dat

올바른 솔루션이 없습니다

다른 팁

당신은 포기하지 않는 형식 문자열 TO_DATE.이 발생할 수 있습니다 오라클을 처리하신 날짜가 잘못입니다.도

to_date('01/01/2009', 'DD/MM/YYYY')

대신(에 따라 어디에서 당신은,변경할 수 있습의 순서 DD 과 MM).보 이 설명의 TO_DATE 형식 문자열을 인수 자세한 내용은.

노력하다

TO_DATE('01/01/2009', 'dd/mm/yyyy')

가혹하게 들리지는 않지만 먼저 Google 검색을 수행하십시오. 이전 답변은 작동하지만 더 많은 설명은

http://www.dbmotive.com/oracle_error_codes.php?errcode=01843

당신이하고있는 것처럼 기본 형식을 사용하려면 그것이 무엇인지 알아 내야합니다.

두 가지 가능성이 있습니다.

  1. 기본 날짜 형식으로 인해 TO_DATE 함수가 실패합니다 (여기에 이미 제공된 다른 답변에 따라).

  2. pd_end_dt 날짜 열이 아닙니다. 쿼리는 값을 변환하려고합니다 pd_end_dt 비교하기 전에 날짜가 있고 행 중 하나에서 실패합니다.

시연하려면 :

SQL> create table t1 (datestrings varchar2(10));
SQL> insert into t1 values ('01/01/2009');
SQL> insert into t1 values ('02/01/2009');
SQL> insert into t1 values ('01/XX/2009');
SQL> select * from t1 where datestrings > '01/01/2009';

DATESTRINGS 
-----------
02/01/2009
01/XX/2009  

2 rows selected

SQL> select * from t1 where datestrings > TO_DATE('01/01/2009');

ORA-01843: not a valid month

SQL> select * from t1 where datestrings > TO_DATE('01/01/2009','DD/MM/YYY');

ORA-01843: not a valid month
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top