- DocumentDB SQL 教程
- DocumentDB SQL - 主页
- DocumentDB SQL - 概述
- DocumentDB SQL - 选择子句
- DocumentDB SQL - From 子句
- DocumentDB SQL -Where 子句
- DocumentDB SQL - 运算符
- DocumentDB - Between 关键字
- DocumentDB SQL - In 关键字
- DocumentDB SQL - 值关键字
- DocumentDB SQL - Order By 子句
- DocumentDB SQL - 迭代
- DocumentDB SQL - 连接
- DocumentDB SQL - 别名
- DocumentDB SQL - 数组创建
- DocumentDB - 标量表达式
- DocumentDB SQL - 参数化
- DocumentDB SQL - 内置函数
- Linq 到 SQL 翻译
- JavaScript 集成
- 用户定义函数
- 复合 SQL 查询
- DocumentDB SQL 有用资源
- DocumentDB SQL - 快速指南
- DocumentDB SQL - 有用的资源
- DocumentDB SQL - 讨论
DocumentDB SQL - 标量表达式
在DocumentDB SQL中,SELECT子句还支持标量表达式,如常量、算术表达式、逻辑表达式等。通常,很少使用标量查询,因为它们实际上并不查询集合中的文档,它们只是计算表达式。但使用标量表达式查询来学习基础知识、如何在查询中使用表达式和塑造 JSON 仍然很有帮助,并且这些概念直接适用于您将针对集合中的文档运行的实际查询。
让我们看一个包含多个标量查询的示例。
在查询浏览器中,仅选择要执行的文本,然后单击“运行”。让我们运行第一个。
SELECT "Hello"
执行上述查询时,会产生以下输出。
[
{
"$1": "Hello"
}
]
这个输出可能看起来有点令人困惑,所以让我们把它分解一下。
首先,正如我们在上一个演示中看到的,查询结果始终包含在方括号中,因为它们作为 JSON 数组返回,甚至是像这样仅返回单个文档的标量表达式查询的结果。
我们有一个数组,其中包含一个文档,并且该文档对于 SELECT 语句中的单个表达式有一个属性。
SELECT 语句不提供该属性的名称,因此 DocumentDB 使用 $1 自动生成一个名称。
这通常不是我们想要的,这就是为什么我们可以使用 AS 为查询中的表达式添加别名,这会按照您希望的方式设置生成文档中的属性名称,在本例中为 word。
SELECT "Hello" AS word
执行上述查询时,会产生以下输出。
[
{
"word": "Hello"
}
]
同样,下面是另一个简单的查询。
SELECT ((2 + 11 % 7)-2)/3
该查询检索以下输出。
[
{
"$1": 1.3333333333333333
}
]
让我们看一下塑造嵌套数组和嵌入对象的另一个示例。
SELECT
{
"words1":
["Hello", "World"],
"words2":
["How", "Are", "You?"]
} AS allWords
执行上述查询时,会产生以下输出。
[
{
"allWords": {
"words1": [
"Hello",
"World"
],
"words2": [
"How",
"Are",
"You?"
]
}
}
]