gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 08:03:02 25 4
gpt4 key购买 nike

我有一个相对简单的sql查询,它拒绝在sqldeveloper上执行,我已经将令人讨厌的行缩小为-

and (b.date_updated > (sysdate MINUS 2) or a.date_updated > (sysdate MINUS 2))

这是我的 where子句以及其他语句的一部分。

我从视觉上已经多次计算了括号,对我来说似乎很均衡,我不确定这里做错了什么,有人可以帮我弄清楚这里出了什么问题。

为了完整起见,这是where子句的样子
where a.customer_id = b.customer_id
and (b.date_updated > (sysdate MINUS 2) or a.date_updated > (sysdate MINUS 2))
and a.c_id = c.c_id

最佳答案

MINUS是对两个集合进行操作的集合运算符,本质上是UNIONUNION ALL所做的“相反”操作。

要从日期(或另一个数字)中减去一个数字,请使用-
这在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

要了解current_date - 2为什么实际上可以达到您的期望,请阅读“Datetime/Interval Arithmetic”一章:
https://docs.oracle.com/cd/E11882_01/server.112/e41084/sql_elements001.htm#i48042

关于sql - ORA-00907即使右括号是平衡的,也缺少右括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32830652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com