本文为您介绍SQL搜索的使用限制。

  • 只支持对保有中的资源进行搜索。
  • 针对SELECT *简写形式的SQL查询,返回的属性限定为AccountIdRegionIdResourceIdResourceTypeResourceNameResourceCreationTimeResourceGroupId
  • 不支持查询关键字ALLDISTINCTFROMHAVINGJOINUNION,支持NULL值查询。
  • 通配符限制如下:
    • 通配符仅支持属性值,不支持属性键,例如:支持...WHERE ResourceId LIKE 'Value%',不支持...WHERE 'ResourceId%' LIKE 'Value%'
    • 支持后缀通配符,例如:...ResourceType LIKE 'ACS::ECS::%'...ResourceType LIKE 'ACS::ECS::_'
  • 支持聚合函数,例如:AVGCOUNTMAXMINSUM。聚合限制如下:
    • 聚合函数仅可设置一个参数或属性。
    • 聚合函数不能嵌套使用。
    • GROUP BY子句与ORDER BY子句同时使用时,聚合函数仅能包含一个属性。
    • 不支持聚合中的HAVING子句。
  • 当查询对象数组内的多个属性时,将针对所有数组元素计算匹配项,例如:资源R有标签A和标签B,资源R的数据为:
    {
    configTagList: [
    { configTagName: 'A', tagType: 'ecs' },
    { configTagName: 'B', tagType: 'sls' }
    ]
    }
    此查询将返回资源R:
    SELECT * WHERE configTagList.configTagName = 'A' AND configTagList.tagType = 'sls'

    第一个条件configTagList.configTagName = 'A'应用于configTagList中的所有元素,资源R含有的标签A满足configTagList.configTagName = 'A',条件被评估为真;第二个条件configTagList.tagType应用于configTagList中的所有元素,资源R含有的标签B满足tagType = 'sls',条件也被评估为真。由于这两个条件都是真的,因此将返回资源R。