odata查询 - 有没有办法向过滤器添加“和false”
这是连接到SAP系统的查询。
让我们说我的网址是:
/ PlannerGrpSet?$ top = 50& $ filter =(Werks eq'3000')& $ select = *
我想做:
/ PlannerGrpSet?$ top = 50& $ filter =(Werks eq'3000'和false)& $ select = *
不要问我为什么,我们有一个工具正在翻译我们生成的一些复杂的sql,在sql中我们做0 = 1表示不返回数据。是的,我知道我们疯了。
只需添加和false 即可:
远程服务器返回错误:(500)内部服务器错误
关于我如何得到我想要的任何想法?再次,不要寻找“不要那样做”。此外,我宁愿不依赖于尝试做Werks eq'3000'和Werks eq'3001'这样的事情,理想情况下我不想随意选择我们的一个列并做类似的事情。
答案 0 :(得分:1)
$filter
表达式的grammar确实允许false
表达式右侧的原始文字(例如and
)。因此,您似乎正在遇到服务背后的OData实施的错误或限制。
这是false
中具有文字$filter
值的有效example from the TripPin demo service。
http://services.odata.org/V4/(S(ztoosdlp5wrqdiv233gmrqys))/TripPinServiceRW/People?$filter=UserName eq 'russellwhyte' and false
您可以尝试保证失败的其他逻辑表达式。例如,0 eq 1
。