本文将为您详细介绍在使用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。