LIKE — язык запросов в Cosmos DB (в Azure и Fabric)

Ключевое LIKE слово логическое значение в зависимости от того, соответствует ли определенная строка символов указанному шаблону. Шаблон может содержать обычные символы и подстановочные знаки.

Подсказка

Вы можете создавать логически эквивалентные запросы с помощью ключевого LIKE слова или системной RegexMatch функции. Вы наблюдаете одно и то же использование индекса независимо от выбранного варианта. Выбор варианта использования в значительной степени основан на предпочтениях синтаксиса.

Замечание

Так как LIKE можно использовать индекс, необходимо создать индекс диапазона для свойств, которые вы сравниваете с помощью LIKE.

С помощью LIKE можно использовать следующие подстановочные знаки:

Description Example
% Любая строка нулевых или более символов. WHERE c.description LIKE "%SO%PS%"
_ (подчеркивание) Любой отдельный символ. WHERE c.description LIKE"%SO_PS%"
[ ] Любой отдельный символ в указанном диапазоне ([a-f]) или наборе ([abcdef]). WHERE c.description LIKE "%SO[t-z]PS%"
[^] Любой отдельный символ, не в пределах указанного диапазона ([^a-f]) или набора ([^abcdef]). WHERE c.description LIKE "%SO[^abc]PS%"

Символ соответствует любой строке % нулевого или более символов. Например, при размещении % в начале и конце шаблона следующий запрос возвращает все элементы, в которых указанное поле содержит фразу в виде подстроки:

SELECT VALUE
    p.name
FROM
    products p
WHERE
    p.name LIKE "%driver%"

Если вы использовали только символ в конце шаблона, вы вернете только элементы с описанием, начинающимся % с fruit:

SELECT VALUE
    p.name
FROM
    products p
WHERE
    p.name LIKE "fruit%"

Аналогичным образом подстановочный знак в начале шаблона указывает, что вы хотите сопоставить значения с указанным значением в качестве префикса:

SELECT VALUE
    p.name
FROM
    products p
WHERE
    p.name LIKE "%Road"

Ключевое NOT слово возвращает результат вычисления выражения ключевого LIKE слова. В этом примере возвращаются все элементы, которые не соответствуют выражению LIKE .

SELECT VALUE
    p.name
FROM
    products p
WHERE
    p.name NOT LIKE "%winter%"

Вы можете искать шаблоны, включающие один или несколько подстановочных знаков с помощью ESCAPE предложения. Например, если вы хотите искать описания, содержащие строку 20%, не хотите интерпретировать % его как подстановочный знак. В этом примере интерпретируется ^ как escape-символ, чтобы можно было избежать определенного экземпляра %.

SELECT VALUE
    p.name
FROM
    products p
WHERE
    p.description LIKE "%20^%%" ESCAPE "^"

Подстановочные знаки можно заключать в квадратные скобки, чтобы рассматривать их как литеральные символы. Если заключить подстановочный знак в скобки, удалите все специальные атрибуты. Эта таблица содержит примеры литеральных символов.

Проанализированное значение
LIKE "20-30[%]" 20-30%
LIKE "[_]n" _n
LIKE "[ [ ]" [
LIKE "]" ]