ORA-00907即使括号平衡,也缺少右括号

时间:2015-09-28 19:48:59

标签: sql oracle syntax-error

我有一个相对简单的SQL查询拒绝在sqldeveloper上执行,我已经将违规行缩小到了这个 -

<sec:session-management invalid-session-url="/pages/comun/index.xhtml"
        session-fixation-protection="none">
        <sec:concurrency-control max-sessions="1"
            expired-url="/pages/comun/index.xhtml" error-if-maximum-exceeded="true"/>
    </sec:session-management>

这是我的and (b.date_updated > (sysdate MINUS 2) or a.date_updated > (sysdate MINUS 2)) 子句以及其他声明的一部分。

我在视觉上多次对括号进行了计算,它看起来与我平衡,我不确定我在这里做错了什么,有人可以帮我弄清楚这里有什么问题。

为了完整性,这里是where子句的样子

where

3 个答案:

答案 0 :(得分:5)

UNION是一个集合运算符,它在两个集合上运行,基本上是&#34;相反的&#34; UNION ALL-的作用。

要从日期(或其他数字)中减去数字,请使用current_date - 2

这一点记录在&#34;算术运算符&#34;在Oracle手册中:
https://docs.oracle.com/cd/E11882_01/server.112/e41084/operators002.htm#SQLRF51156

你把它与SET操作员混为一谈:
https://docs.oracle.com/cd/E11882_01/server.112/e41084/operators005.htm#SQLRF51164

要了解为什么 $& ok实际上按照您的意愿行事,请阅读章节&#34; 日期时间/间隔算术&#34; :
https://docs.oracle.com/cd/E11882_01/server.112/e41084/sql_elements001.htm#i48042

答案 1 :(得分:2)

MINUS不是合法语法。将每个MINUS替换为实际的运算符-

答案 2 :(得分:2)

add_filter( 'wpcf7_skip_mail', 'maybe_skip_mail' ); function maybe_skip_mail( $skip_mail, $contact_form ) { if( /* your condition */ ) $skip_mail = true; return $skip_mail; }, 10, 2 ); 更改为 and (b.date_updated > (sysdate MINUS 2) or a.date_updated > (sysdate MINUS 2))