案例陈述中的无效关系运算符错误

时间:2019-05-30 21:14:52

标签: sql oracle case

我在查询中获取无效的关系运算符

AND CASE WHEN UPPER(TRIM(XXCORP_OM_DEALER_FEE_DIS_LIN.FEE_TYPE))='DEALER 
DIRECT' THEN NULL ELSE XXCORP_OM_DEALER_FEE_DIS_LIN.FEE_TYPE END
AND CASE WHEN UPPER(TRIM(XXCORP_OM_DEALER_FEE_DIS_LIN_FEE_TYPE))='DEALER 
DIRECT' THEN NULL ELSE XXCORP_OM_DEALER_FEE_DIS_LIN_FEE_TYPE END

错误消息:ORA-00920:无效的关系运算符 00920. 00000-“无效的关系运算符”

1 个答案:

答案 0 :(得分:0)

运算符ANDBoolean表达式进行操作(返回TRUEFALSE)。
您将AND应用于此表达式:

CASE 
  WHEN UPPER(TRIM(XXCORP_OM_DEALER_FEE_DIS_LIN.FEE_TYPE))='DEALER DIRECT' THEN NULL 
  ELSE XXCORP_OM_DEALER_FEE_DIS_LIN.FEE_TYPE 
END

显然不会返回一个Boolean值。
也许您会想念类似的东西:

AND CASE...END = somethingelse AND ...