查询中的 Azure 数字孪生禁用词

Azure Digital Twin forbbitten words in Query

当我执行查询时

SELECT Group FROM DIGITALTWINS Sensor JOIN Group RELATED Sensor.contains WHERE Sensor.$dtId='xxx’

我遇到错误

RestError: SQL query parse failed: SQL Parser Error, Line=1, Position=7, Message=mismatched input 'Group' expecting {AVG, CONTAINS, COUNT, DEVICES_JOBS, DEVICES_MODULES, DEVICES, DIGITALTWINS, RELATIONSHIPS, JOIN, MAX, MIN, RELATED, SUM, TOP, EXACT, DEFAULT, '*', IDENTIFIER}
SQL Parser Error, Line=1, Position=13, Message=mismatched input 'FROM' expecting BY See samples in http://aka.ms/adtv2query for the correct syntax.

但是当我将“Group”换成另一个词时,ex“a”查询成功了。 当我使用“Order”这个词时,我遇到了同样的错误。 我认为这是因为这个词在正常的SQL查询中使用,即使数字孪生不支持它,仍然要解析它并且我得到了一个错误。

在哪里可以找到查询的禁用词列表?

我看到你混合了单引号:' vs '(我不确定它们是如何命名的)。有时在复制和粘贴文本时会发生。

更新: Group 字(以及任何其他保留字)必须使用方括号进行转义:[[<IDENTIFIER>]].

查询:

SELECT [[Group]] FROM DIGITALTWINS Sensor JOIN [[Group]] RELATED Sensor.contains WHERE Sensor.$dtId='xxx'

这是语言中的一组“保留”关键字:

  • 全部
  • AS
  • 升序
  • 平均
  • 通过
  • 计数
  • 描述
  • DEVICES_JOBS
  • DEVICES_MODULES
  • 设备
  • ENDS_WITH
  • 错误
  • 来自
  • 群组
  • IS_BOOL
  • IS_DEFINED
  • IS_NULL
  • IS_NUMBER
  • IS_OBJECT
  • IS_PRIMITIVE
  • IS_STRING
  • 最大
  • 分钟
  • 没有
  • NOT_IN
  • 订购
  • SELECT
  • STARTS_WITH
  • 总和
  • 顶部
  • 正确
  • 哪里
  • IS_OF_MODEL

如果不使用 [[ ]] 括起来,这些词不能用作标识符。

[更新] 在文档中查看更多详细信息:https://docs.microsoft.com/en-us/azure/digital-twins/reference-query-reserved