You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ORA-00920无效关系运算符错误排查求助

ORA-00920无效关系运算符错误排查

ORA-00920错误的核心是SQL中使用了无效的关系运算符,除了括号匹配问题,你这段SQL里有几个明确的问题点:

  • EXTRACT函数与LIKE运算符不兼容:EXTRACT(YEAR FROM DELIVERY_DATE)和EXTRACT(MONTH FROM DELIVERY_DATE)返回的是数值类型,而LIKE是专门用于字符串匹配的运算符,数值与字符串直接用LIKE会触发无效关系运算符的错误。

    解决办法有两种:

    1. 如果年份/月份参数是确定值,改用等于判断,同时保留NVL的默认逻辑:
      AND EXTRACT(YEAR FROM DELIVERY_DATE) = NVL('$YEAR$', EXTRACT(YEAR FROM DELIVERY_DATE))
      AND EXTRACT(MONTH FROM DELIVERY_DATE) = NVL('$MONTH$', EXTRACT(MONTH FROM DELIVERY_DATE))
      
    2. 如果需要支持模糊匹配(比如年份传'202%'),先把日期转成字符串再用LIKE:
      AND TO_CHAR(DELIVERY_DATE, 'YYYY') LIKE NVL('$YEAR$', '%')
      AND TO_CHAR(DELIVERY_DATE, 'MM') LIKE NVL('$MONTH$', '%')
      
  • 绑定变量替换验证:检查SYSDATE-$DAYS$中的$DAYS$是否被正确替换为数值,如果替换后是非数值内容,会导致语法错误;另外所有$XXX$形式的绑定变量,替换后要确保格式合法,比如字符串参数是否带引号。

  • API调用语法检查:确认&AO.COMPANY_SITE_API.GET_COMPANY(CONTRACT)这类API调用的拼写和参数传递是否符合Oracle的规范,比如函数名是否正确、参数类型是否匹配。

附上你提供的原SQL代码(格式化后):

(SOURCE_REF1, SOURCE_REF2, SOURCE_REF3, RECEIPT_NO) IN (
    SELECT ORDER_NO, LINE_NO, RELEASE_NO, RECEIPT_NO 
    FROM &AO.PURCHASE_RECEIPT_STATISTICS 
    WHERE order_line_objstate IN ('Arrived', 'Received', 'Closed')
      AND qty_arrived > 0 
      AND rental_db = 'FALSE' 
      AND NVL(&AO.COMPANY_SITE_API.GET_COMPANY(CONTRACT),'%') LIKE NVL('$COMPANY$','%') 
      AND NVL(CONTRACT,'%') LIKE NVL('$SITE$','%') 
      AND NVL(VENDOR_NO,'%') LIKE NVL('$SUPPLIER_ID$','%')  
      AND NVL(&AO.PURCHASE_ORDER_API.GET_BUYER_CODE(ORDER_NO),'%') LIKE NVL('$PERSON_BUYER$','%') 
      AND REAL_ARRIVAL_DATE >= SYSDATE-$DAYS$
) 
AND &AO.Purchase_Stat_Util_API.Get_Max_Days_Late (SOURCE_REF1, SOURCE_REF2, SOURCE_REF3, RECEIPT_NO) = 0 
AND &AO.Purchase_Stat_Util_API.Get_Max_Days_Early (SOURCE_REF1, SOURCE_REF2, SOURCE_REF3, RECEIPT_NO) = 0
AND EXTRACT(YEAR FROM DELIVERY_DATE) LIKE NVL('$YEAR$','%')
AND EXTRACT(MONTH FROM DELIVERY_DATE) LIKE NVL('$MONTH$','%')

内容的提问来源于stack exchange,提问作者Tompa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 06:01:38