【发布时间】:2020-03-17 09:13:28
【问题描述】:
我想在 SELECT 子句中使用关键字 order 作为表达式的别名。
要重现,请将以下内容插入到 Cosmos DB 集合中。
{
"name": "John Doe"
}
以下查询工作正常
SELECT
c.name
, c["order"]
, c["order"] ?? "defaultValue"
, c["order"] ?? "defaultValue" as order2
FROM c
WHERE c.name = 'John Doe'
这个失败是因为我使用的是关键字顺序
SELECT
c.name
, c["order"]
, c["order"] ?? "defaultValue"
, c["order"] ?? "defaultValue" as order2
, c["order"] ?? "defaultValue" as order
FROM c
WHERE c.name = 'John Doe'
我尝试过使用方括号、双引号和单引号来围绕 SQL Server 允许的别名。
【问题讨论】:
-
您正在尝试创建一个已经是保留字的别名。我怀疑这是否可行。即使有可能,这似乎也是一种反模式,将保留字重新映射为不同的含义。
-
您好,我的回答对您有帮助吗?
标签: azure-cosmosdb alias keyword reserved-words