2014-11-28 4 views
0

그래서 나는 다음과 같은 코드 생성 :누락 된 괄호 오류

Select c_id, c_name 
From bk_CustWithOrders 
where to_char(order_date,'MM-YYYY')=prevMonth(sysdate '2014-11-27', 4) 
INTERSECT 
Select c_id, c_name 
From bk_CustWithOrders 
where to_char(order_date,'MM-YYYY')=prevMonth(sysdate '2014-11-27', 3) 
INTERSECT 
Select c_id, c_name 
From bk_CustWithOrders 
where to_char(order_date,'MM-YYYY')=prevMonth(sysdate '2014-11-27', 2); 

을 나는 다음과 같은 오류 메시지가 얻을 :

ORA-00907 : 누락 된 오른쪽 괄호 00907. 00000 - "실종 오른쪽 괄호" 을 * 원인 :
이 * 작업 : 라인에서 오류 : 3 열이 : 55

내가 괄호를 추가하는 시도했지만 그때는 또 다른 오류 발생 .. 확실하지 무엇을 do

+0

PL/SQL을 모르지만')'와'='문자 사이에 공백을 넣으려고 했습니까? 어쩌면') ='를 다른 것으로 해석하고있을 것입니다. – Dai

+1

sysdate'또는'prevMonth'의 수정 날짜를 둘 다 사용해서는 안된다고 생각하십시오 – Jens

답변

0

나는 prevMonth 함수에 대해 모른다.

하지만 내가 알아챈 것은 sysdate와 '2014-11-27'사이에 구분 기호가 없다는 것입니다.

prevMonth(sysdate '2014-11-27', 2);

사용 ','sysdate and '2014-11-27'하고 다시 확인 사이 : 다른

prevMonth(sysdate, '2014-11-27', 2); 당신이 어떤 하나의 사용이 sysdate or '2014-11-27'

prevMonth(sysdate, 2);

prevMonth('2014-11-27', 2); 
0

라인 3 열 (55)은 정확히이 부분의 시작입니다 :

'2014년 11월 27일', 4)

그는 말하는 : 당신은 구분 기호로 공백을 넣어 내가 왜 이해가 안 돼요.