2012-07-19 3 views
0

이상한 Oracle 쿼리 문제가 있습니다. 문제는 제가 MS SQL 개발자입니다.Oracle 10.2.0.5 - SQL 명령이 제대로 종료되지 않았습니다.

은 SQL의 공정한 덩어리입니다,하지만이로 끝나는 경우 :

WHERE  RLTEST.D550M.PERSON_REF = '00027280'; 

모두 잘 작동합니다.

는이 끝나는 때 :

나는 ORA-00933: SQL command not properly ended

를 얻을 수 있으며이 끝나는 때

WHERE  RLTEST.D550M.PERSON_REF = '00027280' 
AND  RLTEST.D580M.PROJECTED_END_DATE <= SYSDATE(); 

:

WHERE  RLTEST.D550M.PERSON_REF = '00027280' 
AND  NVL(RLTEST.D580M.PROJECTED_END_DATE, SYSDATE()-1) <= SYSDATE(); 

을 내가해야합니까 무엇 ORA-00907: missing right parenthesis

를 얻을 수 날짜 비교를 추가 하시겠습니까?

감사합니다 ...

답변

2

당신은 별도의 브라켓이 필요하지 않습니다 -은 "()"단지 SYSDATE 후에서 제거합니다.

+0

신난다 - 감사합니다! – CompanyDroneFromSector7G

1

오라클에는 pseudocolumns의 개념이 있으며 sysdate는 그 중 하나이므로 참조 후 즉시 대괄호/중괄호를 제거해야합니다.

pseudocolumns에 대한 자세한 정보를 사용할 수 있습니다 here

관련 문제