本文將為您詳細介紹在使用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。