ORA-01797: this operator must be followed by ANY or ALL
2013-12-20 21:26
1576 查看
今天写sql时报了一个ORA-01797: this operator must be followed by ANY or ALL的错
中文的意思是 : 这个操作符必须遵循的任何或所有
说明我sql拼错了,是两个日期之间的界限问题,开始日期与结束日期之间:
报错之前的代码是这样
SELECT * FROM AMS_SALE_PRICE WHERE
((START_DATE>= TO_DATE('2014-1-1','yyyy-MM-dd') AND START_DATE <=('2014-1-31','yyyy-MM-dd')OR
(END_DATE >= TO_DATE('2014-1-1','yyyy-MM-dd') AND END_DATE <=('2014-1-31','yyyy-MM-dd') OR
(TO_DATE('2014-1-1','yyyy-MM-dd') >= START_DATE AND ('2014-1-31','yyyy-MM-dd')<= END_DATE) OR
( TO_DATE('2014-1-31','yyyy-MM-dd') >= START_DATE AND ('2014-1-31','yyyy-MM-dd') <= END_DATE))
低级错误啊!!!!
改正以后是:
SELECT * FROM AMS_SALE_PRICE WHERE
((START_DATE >= TO_DATE('2014-1-1','yyyy-MM-dd') AND START_DATE <= TO_DATE('2014-1-31','yyyy-MM-dd')) OR
(END_DATE >= TO_DATE('2014-1-1','yyyy-MM-dd') AND END_DATE <= TO_DATE('2014-1-31','yyyy-MM-dd')) OR
(TO_DATE('2014-1-1','yyyy-MM-dd')>= START_DATE AND TO_DATE('2014-1-31','yyyy-MM-dd') <=TO_DATE('2014-1-31','yyyy-MM-dd')) OR
(TO_DATE('2014-1-31','yyyy-MM-dd')>= START_DATE AND TO_DATE('2014-1-31','yyyy-MM-dd') <= END_DATE))
给大家提供一个有用的sql,这条sql还可以优化下,求各位大神指点!
SELECT * FROM AMS_SALE_PRICE
WHERE ((START_DATE >= #beginDate# AND START_DATE <= #endDate#) OR
(END_DATE >= #beginDate# AND END_DATE <= #endDate#) OR
(#beginDate# >= START_DATE AND #endDate# <= END_DATE) OR
(#endDate# >= START_DATE AND #endDate# <= END_DATE))
AND SALE_ID = #saleId#
中文的意思是 : 这个操作符必须遵循的任何或所有
说明我sql拼错了,是两个日期之间的界限问题,开始日期与结束日期之间:
报错之前的代码是这样
SELECT * FROM AMS_SALE_PRICE WHERE
((START_DATE>= TO_DATE('2014-1-1','yyyy-MM-dd') AND START_DATE <=('2014-1-31','yyyy-MM-dd')OR
(END_DATE >= TO_DATE('2014-1-1','yyyy-MM-dd') AND END_DATE <=('2014-1-31','yyyy-MM-dd') OR
(TO_DATE('2014-1-1','yyyy-MM-dd') >= START_DATE AND ('2014-1-31','yyyy-MM-dd')<= END_DATE) OR
( TO_DATE('2014-1-31','yyyy-MM-dd') >= START_DATE AND ('2014-1-31','yyyy-MM-dd') <= END_DATE))
低级错误啊!!!!
改正以后是:
SELECT * FROM AMS_SALE_PRICE WHERE
((START_DATE >= TO_DATE('2014-1-1','yyyy-MM-dd') AND START_DATE <= TO_DATE('2014-1-31','yyyy-MM-dd')) OR
(END_DATE >= TO_DATE('2014-1-1','yyyy-MM-dd') AND END_DATE <= TO_DATE('2014-1-31','yyyy-MM-dd')) OR
(TO_DATE('2014-1-1','yyyy-MM-dd')>= START_DATE AND TO_DATE('2014-1-31','yyyy-MM-dd') <=TO_DATE('2014-1-31','yyyy-MM-dd')) OR
(TO_DATE('2014-1-31','yyyy-MM-dd')>= START_DATE AND TO_DATE('2014-1-31','yyyy-MM-dd') <= END_DATE))
给大家提供一个有用的sql,这条sql还可以优化下,求各位大神指点!
SELECT * FROM AMS_SALE_PRICE
WHERE ((START_DATE >= #beginDate# AND START_DATE <= #endDate#) OR
(END_DATE >= #beginDate# AND END_DATE <= #endDate#) OR
(#beginDate# >= START_DATE AND #endDate# <= END_DATE) OR
(#endDate# >= START_DATE AND #endDate# <= END_DATE))
AND SALE_ID = #saleId#
相关文章推荐
- 【解决】Element type "typename" must be followed by either attribute specifications, ">" or "/>".
- Element type "property" must be followed by either attribute specifications, ">" or "/>"
- Element type "Resource" must be followed by either attribute specifications, ">" or "/>".
- Element type "action" must be followed by either attribute specifications, ">" or "/>".
- Element type "bean" must be followed by either attribute specifications, ">" or "/>".
- Element type "Resource" must be followed by either attribute specifications, ">" or "/>".
- XML2JSON 的【net.sf.json.JSONException: nu.xom.ParsingException must be followed by either attribute specifications, ">" or "/>"】问题解决办法
- Element type "import" must be followed by either attribute specifications, ">" or "/>".
- org.xml.sax.SAXParseException: Element type "beans" must be followed by either attribute specifications, ">" or "/>".
- Getting aCC Error :name followed by "::" must be a class or namespace name"
- Element type "EditText" must be followed by either attribute specifications, ">" or "/>".
- Element type "EditText" must be followed by either attribute specifications, ">" or "/>".
- Element type "bean" must be followed by either attribute specifications, ">" or "/>".
- 出现错误 Element type "LinearLayout" must be followed by either attribute specification,">"or"/>"的解决办法
- Element type "Resource" must be followed by either attribute specifications, ">" or "/>".
- ssh服务启动失败 /var/empty must be owned by root and not group or world-writable.
- ORA-01440: column to be modified must be empty to decrease precision or scale
- The table name must be enclosed in double quotation marks or sqare bracket while accessing EXCEL by
- ORA-19527: physical standby redo log must be renamed