Catégories :

Fonctions de chaîne et fonctions binaires (Correspondance/Comparaison)

CONTAINS

Renvoie true si expr1 contient expr2. Les deux expressions doivent être des expressions textuelles ou binaires.

Astuce

Vous pouvez utiliser le service d’optimisation de recherche pour améliorer les performances des requêtes qui appellent cette fonction. Pour plus de détails, voir Service d’optimisation de la recherche.

Syntaxe

CONTAINS( <expr1> , <expr2> )
Copy

Arguments

expr1

La chaîne dans laquelle effectuer la recherche.

expr2

La chaîne à rechercher.

Renvoie

Retourne un BOOLEAN. La valeur est True si expr2 est trouvée à l’intérieur de expr1. Renvoie NULL si l’une des expressions d’entrée est NULL. Sinon, renvoie False.

Détails du classement

The collation specifications of all input arguments must be compatible.

Cette fonction ne fonctionne pas avec les spécifications de classement suivantes :

  • pi (insensible à la ponctuation).

  • cs-ai (sensible à la casse, insensible aux accents)

Note

Pour utiliser cette fonction avec une colonne qui a les spécificateurs de classement upper ou lower, vous devez activer le bundle de changements de comportement 2024_02 dans votre compte.

Pour activer ce bundle dans votre compte, exécutez l’instruction suivante :

SELECT SYSTEM$ENABLE_BEHAVIOR_CHANGE_BUNDLE('2024_02');
Copy

Exemples

SELECT * from strings;

---------+
    S    |
---------+
 coffee  |
 ice tea |
 latte   |
 tea     |
 [NULL]  |
---------+

SELECT * FROM strings WHERE CONTAINS(s, 'te');

---------+
    S    |
---------+
 ice tea |
 latte   |
 tea     |
---------+
Copy

L’exemple suivant utilise CONTAINS avec un classement :

-- Should return True.
SELECT CONTAINS(COLLATE('ñn', 'sp'), COLLATE('n', 'sp'));
+---------------------------------------------------+
| CONTAINS(COLLATE('ÑN', 'SP'), COLLATE('N', 'SP')) |
|---------------------------------------------------|
| True                                              |
+---------------------------------------------------+
SELECT CONTAINS(COLLATE('ñn', 'sp'), 'n');
+------------------------------------+
| CONTAINS(COLLATE('ÑN', 'SP'), 'N') |
|------------------------------------|
| True                               |
+------------------------------------+
Copy