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

ODATA V4如何过滤排除a、b、c全为0的数据?

OData 过滤:仅排除a、b、c全为0的记录

要实现保留a、b、c不全为0的所有数据(仅排除三者同时为0的情况),正确的OData过滤表达式是:

?$filter=not (a eq 0 and b eq 0 and c eq 0)

为什么之前的表达式不符合需求?

你之前使用的$filter=a ne 0 and b ne 0 and c ne 0,逻辑是要求三个字段必须全部不为0,这和你的需求完全相悖——它会把只要有一个字段为0的记录都过滤掉,而你需要的是只剔除三者全为0的情况。

逻辑验证

这个表达式会保留所有符合你要求的记录:

  • a=1, b=0, c=0
  • a=1, b=1, c=0
  • a=0, b=1, c=0
  • a=0, b=0, c=1
  • 三个字段均不为0的记录

只有当a、b、c同时为0时,才会被过滤,完全匹配你的需求。在服务端完成过滤后,能有效减少后续代码处理的数据量,达到你所说的平均每个请求节省9秒处理时间的效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 16:57:02