首页 > 解决方案 > 什么是正确的 FilterObject ORDS 语法?

问题描述

我想过滤RestApi ORDS的结果,使用FilterObject通过url发送它,但我找不到如何将多个运算符和或或分组的示例。

如果这种情况下的 FilterObject:

where (codigo like 'DACK%' or codigo like 'DO%')

这是:

{"$or":[{"codigo":{"$like":"DACK%"}},{"codigo":{"$like":"DO%"}}]}

以下示例的语法应该是什么:

 WHERE VALOR = 'SUPER'
   AND ( CODIGO LIKE 'DACK%'
    OR CODIGO LIKE 'DO%' )
 ORDER BY CODIGO

我使用 ords 19.1

谢谢

标签: jsonoracleoracle-ords

解决方案


“棘手”的部分是 $or..

我将使用 HR.EMPLOYEES 编写一个等效示例,因为我没有您的表。

GET /ords/hr/employees?q={"job_id":{"$eq":"IT_PROG"},"email":{"$or":[{"$like":"AH%25"},{"$like":"%25VPAT%25"}]},"$orderby":{"salary":"desc"}}

等于

SELECT *
  FROM EMPLOYEES
 WHERE JOB_ID = 'IT_PROG'
   AND ( EMAIL LIKE '%VPAT%'
    OR EMAIL LIKE 'AH%' )
 ORDER BY SALARY DESC

看起来像这样

在此处输入图像描述

这里有更多例子

这是正式记录在这里


推荐阅读