Prédicat LIKE

Navigation:  Les modules métier > Les règles de production > les requêtes SQL > Prédicats >

Prédicat LIKE

Previous pageReturn to chapter overviewNext page

Indique la similarité d'une valeur comparée à une autre.

 

valeur [NOT] LIKE [car_substitution] valeur_comparaison [car_substitution] [ESCAPE car_échap]

 

Description

 

Utilisez le prédicat de comparaison LIKE pour filtrer une table en fonction de la similarité entre une valeur de colonne et une valeur de comparaison. L'utilisation de caractères de substitution permet la comparaison en fonction de la totalité ou d'une partie de la valeur colonne.

 

SELECT *

 

FROM client

 

WHERE (société LIKE "Adventure Undersea")

 

Le caractère générique de substitution ("%") peut être utilisé dans la comparaison pour représenter un nombre inconnu de caractères. LIKE renvoie TRUE lorsqu'une partie de la valeur de colonne correspond à la partie de la valeur de comparaison qui ne se trouve pas sur la position du caractère générique. Le caractère générique peut apparaître au début, au milieu ou à la fin de la valeur de comparaison (ou plusieurs combinaisons de ces positions). Par exemple, l'instruction ci-dessous extrait des lignes où la valeur de colonne commence par un "A" suivi par un nombre quelconque de n'importe quel caractère. Les valeurs correspondantes pourraient être "Action Club" et "Adventure Undersea", mais pas "Blue Sports".

 

SELECT *

 

 

 

WHERE (société LIKE "A%")

 

Le caractère de substitution caractère unique ("_") peut être utilisé dans la comparaison pour représenter un caractère unique. LIKE renvoie TRUE lorsqu'une partie de la valeur de colonne correspond à la partie de la valeur de comparaison qui ne correspond pas à la position du caractère de substitution caractère unique. Le caractère de substitution caractère unique peut apparaître au début, au milieu ou à la fin de la valeur de comparaison (ou de plusieurs combinaisons de ces positions). Utilisez un caractère de substitution caractère unique pour chaque caractère générique dans le filtre. Par exemple, l'instruction ci-dessous extrait les lignes où la valeur de colonne commence par "b" et finit par "n", avec un caractère de n'importe quelle valeur entre les deux. Les valeurs correspondantes pourraient être "bin" et "ban", mais pas "barn".

 

SELECT mots

 

FROM dictionnaire

 

WHERE (mots LIKE "b_n")

 

Utilisez NOT pour renvoyer la condition inverse d'une comparaison LIKE.

 

Utilisez ESCAPE lorsque le caractère générique "%" ou "_" apparaît dans la colonne. Le mot-clé ESCAPE désigne un caractère d'échappement. Dans la valeur de comparaison pour le prédicat LIKE, le caractère qui suit le caractère d'échappement est traité comme un caractère de données et pas comme un caractère générique. Les autres caractères génériques dans la valeur de comparaison ne sont pas affectés.

 

Dans l'instruction ci-dessous, le caractère "^" est désigné comme le caractère d'échappement. Dans la valeur de comparaison pour le prédicat LIKE ("%10^%%"), le "%" qui suit juste après le caractère d'échappement est traité comme donnée dans PercentValue. Ceci permet un filtrage en fonction de la chaîne "10%".

 

SELECT *

 

FROM Ventes

 

WHERE (PercentValue LIKE "%10^%%" ESCAPE "^")

 

LIKE peut être utilisé avec les types de données CHAR ou compatibles. Si une valeur est d'un type de données incompatible, convertissez cette valeur au moyen de la fonction CAST

en un type de données compatible. La comparaison effectuée par le prédicat LIKE est indifférente à la casse.