Partager via


LIKE - Langage de requête dans Cosmos DB (dans Azure et Fabric)

Mot LIKE clé valeur booléenne selon qu’une chaîne de caractères spécifique correspond à un modèle spécifié. Un modèle peut inclure des caractères normaux et des caractères génériques.

Conseil / Astuce

Vous pouvez écrire des requêtes logiquement équivalentes à l’aide du LIKE mot clé ou de la RegexMatch fonction système. Vous observez la même utilisation de l’index, quelle que soit l’option que vous choisissez. Le choix de l’option à utiliser est principalement basé sur la préférence de syntaxe.

Note

Étant donné que LIKE vous pouvez utiliser un index, vous devez créer un index de plage pour les propriétés que vous comparez à l’aide LIKEde .

Vous pouvez utiliser les caractères génériques suivants avec LIKE :

Descriptif Example
% Chaîne de zéro ou plusieurs caractères. WHERE c.description LIKE "%SO%PS%"
_ (trait de soulignement) Tout caractère unique. WHERE c.description LIKE"%SO_PS%"
[ ] Tout caractère unique dans la plage spécifiée ([a-f]) ou défini ([abcdef]). WHERE c.description LIKE "%SO[t-z]PS%"
[^] Tout caractère unique non compris dans la plage spécifiée ([^a-f]) ou défini ([^abcdef]). WHERE c.description LIKE "%SO[^abc]PS%"

Le % caractère correspond à n’importe quelle chaîne de zéro ou plusieurs caractères. Par exemple, en plaçant un % au début et à la fin du modèle, la requête suivante retourne tous les éléments où le champ spécifié contient l’expression comme sous-chaîne :

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

Si vous n’avez utilisé qu’un % caractère à la fin du modèle, vous ne retourneriez que des éléments avec une description qui a commencé par fruit:

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

De même, le caractère générique au début du modèle indique que vous souhaitez correspondre aux valeurs avec la valeur spécifiée comme préfixe :

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

Le NOT mot clé inverse le résultat de l’évaluation de l’expression LIKE du mot clé. Cet exemple retourne tous les éléments qui ne correspondent pas à l’expression LIKE .

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

Vous pouvez rechercher des modèles qui incluent un ou plusieurs caractères génériques à l’aide de la ESCAPE clause. Par exemple, si vous souhaitez rechercher des descriptions qui contenaient la chaîne 20%, vous ne voudriez pas interpréter le % caractère générique. Cet exemple interprète le ^ caractère d’échappement pour vous permettre d’échapper à une instance spécifique de %.

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

Vous pouvez placer des caractères génériques entre crochets pour les traiter comme des caractères littéraux. Lorsque vous placez un caractère générique entre crochets, vous supprimez tous les attributs spéciaux. Ce tableau inclut des exemples de caractères littéraux.

Valeur analysée
LIKE "20-30[%]" 20-30%
LIKE "[_]n" _n
LIKE "[ [ ]" [
LIKE "]" ]