0

Oracleクエリに奇妙な問題があります。問題は、私が本当にMSSQL開発者であるということです。

これは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

日付比較を追加するには何をする必要がありますか?

ありがとう...

4

2 に答える 2

2

余分な括弧は必要ありません。sysdate の直後から「()」を削除してください。

于 2012-07-19T14:02:47.280 に答える
1

Oracle には疑似列の概念があり、sysdate はその 1 つであるため、参照した直後に括弧/中括弧を削除する必要があります。

疑似列の詳細については、こちらをご覧ください

于 2012-07-19T14:09:29.370 に答える