- Catégories :
Fonctions de chaîne et fonctions binaires (Correspondance/Comparaison)
ILIKE ANY¶
Permet l’appariement des chaînes insensibles à la casse sur la base d’une comparaison avec un ou plusieurs motifs.
L’opération est similaire à LIKE
. Si la chaîne d’entrée correspond à l’un des modèles, la chaîne d’entrée est renvoyée.
Syntaxe¶
<subject> ILIKE ANY (<pattern1> [, <pattern2> ... ] ) [ ESCAPE <escape_char> ]
Arguments¶
Obligatoire :
subject
La chaîne à comparer au(x) modèle(s).
pattern#
Le ou les modèles auxquels la chaîne doit être comparée. Vous devez spécifier au moins un modèle.
Facultatif :
escape_char
Caractère(s) inséré(s) devant un caractère générique pour indiquer que le caractère générique doit être interprété comme un caractère standard et non comme un caractère générique.
Renvoie¶
Le type de données de la valeur renvoyée est VARCHAR.
Notes sur l’utilisation¶
Les caractères génériques SQL sont pris en charge dans le
pattern
:Un trait de soulignement (
_
) correspond à n’importe quel caractère.Un signe de pourcentage (
%
) correspond à toute séquence de zéro caractère ou plus.
Les caractères génériques du
pattern
incluent les caractères de nouvelle ligne (\n
) danssubject
comme des correspondances.Le modèle est considéré comme une correspondance s’il correspond à toute la chaîne d’entrée (sujet). Pour faire correspondre une séquence n’importe où dans une chaîne, commencez et terminez le modèle par
%
. Exemple : “%chose%”.NULL ne correspond pas à NULL. En d’autres termes, si le sujet est NULL et l’un des motifs est NULL, cela ne sera pas considéré comme une correspondance.
Si la fonction est utilisée avec une sous-requête, celle-ci doit renvoyer une seule ligne.
Par exemple, les éléments suivants doivent être utilisés uniquement si la sous-requête renvoie une seule ligne :
SELECT ... WHERE x ILIKE ANY (SELECT ...)
Exemples¶
Ceci montre comment utiliser ILIKE ANY :
Créer une table contenant des chaînes :
CREATE OR REPLACE TABLE ilike_example(subject varchar(20)); INSERT INTO ilike_example VALUES ('jane doe'), ('Jane Doe'), ('JANE DOE'), ('John Doe'), ('John Smith');SELECT * FROM ilike_example WHERE subject ILIKE ANY ('jane%', '%SMITH') ORDER BY subject; +------------+ | SUBJECT | |------------| | JANE DOE | | Jane Doe | | John Smith | | jane doe | +------------+
Pour des exemples d’utilisation de caractères génériques, voir la documentation de la fonction associée LIKE ANY.