我正在尝试使用数组包含搜索 CosmosDB 数组,如下
SELECT c.id, c.PromotionName FROM c where ARRAY_CONTAINS(c.Variants, '0828570001006')
这工作正常,但我不知道如何使值模糊,以便我只能匹配前 7 位数字,因此查询如下所示
SELECT c.id, c.PromotionName FROM c where ARRAY_CONTAINS(c.Variants, '0828570')
但仍然与上面的查询匹配(以及更多)
这可能吗?
您可以执行搜索,检查数组中的变体是否以特定字符串开头,如下所示:
select c.id, c.PromotionName
from c
where exists (
select value true
from v in c.Variants
where startswith(v, '0828570')
)
请注意,这不是模糊搜索。