BETWEEN - Cosmos DB 中的查询语言

关键字 BETWEEN 的计算结果为一个布尔值,指示目标值是否在两个指定值(含)之间。

可以将 BETWEEN 关键字与 WHERE 子句一起使用,以表达针对字符串或数值范围筛选结果的查询。

Syntax

<numeric_expr> BETWEEN <numeric_expr_lower_bound> AND <numeric_expr_upper_bound>

Arguments

Description
numeric_expr 要计算的数字表达式。
numeric_expr_lower_bound 一个数值表达式,用于定义范围的非独占下限。
numeric_expr_upper_bound 一个数值表达式,用于定义范围的非独占上限。

返回类型

返回布尔值。

例子

本部分包含有关如何使用此查询语言构造的示例。

对于这些示例,请考虑集合中的 Products 一组文档示例。

[
  {
    "name": "Minet Hat",
    "price": 50,
    "detailCategory": "apparel-accessories-beanies"
  },
  {
    "name": "Klinto Hat",
    "price": 65,
    "detailCategory": "apparel-accessories-beanies"
  },
  {
    "name": "Benki Hat",
    "price": 25,
    "detailCategory": "apparel-accessories-beanies"
  },
  {
    "name": "Jontra Hat",
    "price": 40,
    "detailCategory": "apparel-accessories-beanies"
  }
]

在值范围内进行筛选

在此示例中, BETWEEN 关键字用于筛选特定价格范围内的产品。 范围包含下限和上限。

SELECT VALUE
  p.name
FROM
  products p
WHERE
  (p.price BETWEEN 0 AND 40) AND
  p.detailCategory = "apparel-accessories-beanies"
[
  "Benki Hat",
  "Jontra Hat"
]

评估每个产品的价格范围

在此示例中, BETWEEN 关键字用于通过使用子句中的 SELECT 关键字来评估每个产品的价格是否在特定范围内。 结果包括产品名称和一个布尔值,指示价格是否在范围内。

SELECT
  p.name,
  (p.price BETWEEN 10 AND 20) AS lowPrice
FROM
  products p
WHERE
  p.detailCategory = "apparel-accessories-beanies"
[
  {
    "name": "Minet Hat",
    "lowPrice": false
  },
  {
    "name": "Klinto Hat",
    "lowPrice": false
  },
  {
    "name": "Benki Hat",
    "lowPrice": false
  },
  {
    "name": "Jontra Hat",
    "lowPrice": false
  }
]