Partilhar via


LIKE - Linguagem de consulta no Cosmos DB (no Azure e no Fabric)

A LIKE palavra-chave um valor booleano dependendo se uma cadeia de caracteres específica corresponde a um padrão especificado. Um padrão pode incluir caracteres regulares e caracteres curinga.

Sugestão

Você pode escrever consultas logicamente equivalentes usando a LIKE palavra-chave ou a RegexMatch função do sistema. Você observa a mesma utilização do índice, independentemente da opção escolhida. A escolha de qual opção usar é amplamente baseada na preferência de sintaxe.

Observação

Como LIKE pode utilizar um índice, você deve criar um índice de intervalo para as propriedades que está comparando usando o LIKE.

Você pode usar os seguintes caracteres curinga com LIKE:

Description Example
% Qualquer cadeia de caracteres de zero ou mais caracteres. WHERE c.description LIKE "%SO%PS%"
_ (sublinhado) Qualquer personagem. WHERE c.description LIKE"%SO_PS%"
[ ] Qualquer caractere único dentro do intervalo especificado ([a-f]) ou conjunto ([abcdef]). WHERE c.description LIKE "%SO[t-z]PS%"
[^] Qualquer caractere único que não esteja dentro do intervalo especificado ([^a-f]) ou definido ([^abcdef]). WHERE c.description LIKE "%SO[^abc]PS%"

O % caractere corresponde a qualquer cadeia de caracteres de zero ou mais. Por exemplo, colocando um % no início e no final do padrão, a consulta a seguir retorna todos os itens em que o campo especificado contém a frase como uma substring:

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

Se você usasse apenas um % caractere no final do padrão, só retornaria itens com uma descrição que começasse com fruit:

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

Da mesma forma, o curinga no início do padrão indica que você deseja corresponder valores com o valor especificado como um prefixo:

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

A NOT palavra-chave inverte o resultado da avaliação da expressão da LIKE palavra-chave. Este exemplo retorna todos os itens que não correspondem à LIKE expressão.

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

Você pode pesquisar padrões que incluam um ou mais caracteres curinga usando a ESCAPE cláusula. Por exemplo, se você quisesse pesquisar descrições que contivessem a cadeia de caracteres 20%, não gostaria de interpretar o como um caractere curinga % . Este exemplo interpreta o ^ como o caractere de escape para que você possa escapar de uma instância específica de %.

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

Você pode colocar caracteres curinga entre colchetes para tratá-los como caracteres literais. Quando você coloca um caractere curinga entre colchetes, remove todos os atributos especiais. Esta tabela inclui exemplos de caracteres literais.

Valor analisado
LIKE "20-30[%]" 20-30%
LIKE "[_]n" _n
LIKE "[ [ ]" [
LIKE "]" ]