- Catégories :
Fonctions de chaîne et fonctions binaires (Correspondance/Comparaison)
ENDSWITH¶
Renvoie TRUE si la première expression se termine par une seconde expression. 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¶
ENDSWITH( <expr1> , <expr2> )
Arguments¶
expr1
La chaîne dans laquelle effectuer la recherche.
expr2
La chaîne à rechercher à la fin de
expr1
.
Renvoie¶
Renvoie un BOOLEAN ou NULL :
Renvoie TRUE si
expr2
se termine parexpr1
.Renvoie FALSE si
expr2
ne se termine pas avecexpr1
.Renvoie NULL si l’une des expressions d’entrée est NULL.
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)
Exemples¶
Ces exemples utilisent la fonction ENDSWITH.
Déterminer si les valeurs des colonnes contiennent une chaîne¶
Créer une table avec une seule colonne contenant des valeurs de chaîne.
CREATE OR REPLACE TABLE strings_test (s VARCHAR);
INSERT INTO strings_test values
('coffee'),
('ice tea'),
('latte'),
('tea'),
(NULL);
SELECT * from strings_test;
+---------+
| S |
|---------|
| coffee |
| ice tea |
| latte |
| tea |
| NULL |
+---------+
Déterminer si les valeurs de la colonne s
se terminent avec la chaîne te
:
SELECT * FROM strings_test WHERE ENDSWITH(s, 'te');
+-------+
| S |
|-------|
| latte |
+-------+
Utiliser ENDSWITH avec un classement¶
Dans l’exemple suivant, ENDSWITH renvoie des résultats différents pour les mêmes valeurs d’argument avec des spécifications de classement différentes.
SELECT ENDSWITH(COLLATE('nñ', 'en-ci-ai'), 'n'),
ENDSWITH(COLLATE('nñ', 'es-ci-ai'), 'n');
+------------------------------------------+------------------------------------------+
| ENDSWITH(COLLATE('NÑ', 'EN-CI-AI'), 'N') | ENDSWITH(COLLATE('NÑ', 'ES-CI-AI'), 'N') |
|------------------------------------------+------------------------------------------|
| True | False |
+------------------------------------------+------------------------------------------+