本文将为您详细介绍在使用SQL搜索时需要注意的使用限制,以确保您能有效地使用该功能进行资源搜索。
搜索范围限制
- SQL搜索仅支持对当前保有中的资源进行搜索,不涉及已删除资源。 
- 在使用 - SELECT *的简写形式进行SQL查询时,系统默认返回以下属性:- AccountId
- RegionId
- ResourceId
- ResourceType
- ResourceName
- ResourceCreationTime
- ResourceGroupId
 
不支持的查询关键字
以下SQL关键字不被支持,系统支持进行NULL值的查询。
- ALL
- DISTINCT
- FROM
- HAVING
- JOIN
- UNION
通配符使用规则
- 属性值支持:通配符只能用于属性值的匹配,例如: - WHERE ResourceId LIKE 'Value%'。
- 属性键不支持:不支持使用通配符匹配属性键,例如: - WHERE 'ResourceId%' LIKE 'Value'是不允许的。
- 后缀通配符:支持使用后缀通配符,例如: - ResourceType LIKE 'ACS::ECS::%'
- ResourceType LIKE 'ACS::ECS::_'
 
聚合函数的使用
支持以下聚合函数,但有特定的使用限制。
- 支持的聚合函数: - AVG
- COUNT
- MAX
- MIN
- SUM
 
- 支持的聚合函数的限制: - 每个聚合函数只能设置一个参数或属性。 
- 聚合函数不能嵌套使用。 
- 当同时使用 - GROUP BY和- ORDER BY子句时,聚合函数仅能包含一个属性。
- 不支持在聚合中使用 - HAVING子句。
 
多属性数组查询示例
{
  "configTagList": [
    {"configTagName": "A", "tagType": "ecs"},
    {"configTagName": "B", "tagType": "sls"}
  ]
}此查询将返回资源R:
SELECT * WHERE configTagList.configTagName = 'A' AND configTagList.tagType = 'sls'解释:
- 第一个条件 - configTagList.configTagName = 'A'将在所有标签中搜索名为A的标签。
- 第二个条件 - configTagList.tagType = 'sls'在所有标签中搜索类型为sls的标签。
- 由于资源R同时满足上述两个条件,因此查询结果将包括资源R。 
该文章对您有帮助吗?