2012-07-19 98 views
0

我有一個奇怪的Oracle查詢問題。麻煩的是我真的是一名MS SQL開發人員。Oracle 10.2.0.5 - SQL命令未正確結束

它是SQL的一個公平塊,但是當它只能到此爲止:

WHERE  RLTEST.D550M.PERSON_REF = '00027280'; 

一切工作正常。

若在該結束:

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

我得到ORA-00933: SQL command not properly ended

,當它在此結束:

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 2012-07-19 14:06:29

1

Oracle有一個僞列的概念,sysdate就是其中之一,所以你應該在引用它後立即刪除括號/括號。

有關僞列的更多信息可用here

相關問題