如何在ODATAV4中常用非运算符进行两个查询?



目前,我的查询字符串如下所示,

http://localhost:49442/Orders/?$count=true&$filter=not%20(Freight%20eq%202.3)%20and%20(startswith(tolower(CustomerID),%27b%27))&$skip=0&$top=12

但在这里,非操作员仅用于过滤"货运"列。但我想通常使用这个非运营商来过滤货运客户 ID

很难识别您的预期表达,因为它介于两者之间:

  1. 如果只想同时排除同时满足以下两个条件的行:

    • 货运等式 2.3
    • 客户以"b"开头

    然后您可以通过重新排列括号来执行此操作,以下内容与说
    :">排除客户以 b 开头的订单,但前提是运费为 2.3">

    http://localhost:49442/Orders/?$count=true&$filter=not(Freight eq 2.3 and startswith(tolower(CustomerID),'b'))&$skip=0&$top=12
    
  2. 相反,如果您想排除客户以"b"开头的所有订单,并排除运费为 2.3 的所有其他订单,则必须在查询中指定两次

    • 这与:"排除买家以 b 开头运费为 2.3 的订单">相同

      http://localhost:49442/Orders/?$count=true&$filter=not(Freight eq 2.3) and not(startswith(tolower(CustomerID),'b'))&$skip=0&$top=12
      

最新更新