알려주시기 바랍에 문제를 다음 sql 쿼리
문제
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
당신이하고있는 것처럼 기본 형식을 사용하려면 그것이 무엇인지 알아 내야합니다.
두 가지 가능성이 있습니다.
기본 날짜 형식으로 인해 TO_DATE 함수가 실패합니다 (여기에 이미 제공된 다른 답변에 따라).
열
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
제휴하지 않습니다 StackOverflow