ORA-00907: 缺少右括号?

ORA-00907: missing right parenthesis?

我在尝试执行以下 WHERE 条件时不断收到以下错误,但无法完全弄清楚实际问题是什么...感谢您的帮助。谢谢!

WHERE ((CUSTOMER.CREATE_DATE >= TO_DATE($$EXTRACT_DT,'YYYYMMDD')) OR
(CUSTOMER.UPDATE_DATE >= TO_DATE($$EXTRACT_DT,'YYYYMMDD')))

注意: 想补充一点,当我删除 WHERE 条件时,查询执行没有任何问题。

您的 parens 余额 -- 5 ( 和 5 )。我会编写代码使这一点显而易见:

WHERE (CUSTOMER.CREATE_DATE >= TO_DATE($$EXTRACT_DT, 'YYYYMMDD') OR
       CUSTOMER.UPDATE_DATE >= TO_DATE($$EXTRACT_DT, 'YYYYMMDD')
      )

(这会删除每个子句上的括号。)

因此,您的问题似乎出现在查询的其他地方。

试试这个:

WHERE (CUSTOMER.CREATE_DATE >= TO_DATE("$$EXTRACT_DT", 'YYYYMMDD') OR
       CUSTOMER.UPDATE_DATE >= TO_DATE("$$EXTRACT_DT", 'YYYYMMDD')
      )