Maison > base de données > tutoriel mysql > Comment utiliser la fonction LOCATE dans MySQL pour trouver la position d'une sous-chaîne dans une chaîne

Comment utiliser la fonction LOCATE dans MySQL pour trouver la position d'une sous-chaîne dans une chaîne

王林
Libérer: 2023-07-25 09:45:20
original
2606 Les gens l'ont consulté

Comment utiliser la fonction LOCATE dans MySQL pour trouver la position d'une sous-chaîne dans une chaîne

Dans MySQL, de nombreuses fonctions peuvent être utilisées pour traiter des chaînes. Parmi elles, la fonction LOCATE est une fonction très utile qui peut être utilisée pour trouver la position d'une sous-chaîne dans une chaîne. La syntaxe de la fonction

LOCATE est la suivante :

LOCATE(substring, string, [position])
Copier après la connexion

Où, substring est la sous-chaîne à trouver et string est la chaîne à trouver à l'intérieur. Le paramètre facultatif position indique la position pour démarrer la recherche, par défaut à 1.

Regardons quelques exemples d'utilisation de la fonction LOCATE.

Exemple 1 :

Supposons qu'il y ait une chaîne « Hello, World ! » et que nous voulons trouver la position de la virgule.

SELECT LOCATE(',', 'Hello, World!');
Copier après la connexion

Exécutez le code ci-dessus et le résultat de sortie est 7, indiquant la position de la virgule dans la chaîne.

Exemple 2 :

Si nous voulons trouver la position du caractère 'o' dans la chaîne 'Hello, World !' à partir de la position 12, nous pouvons utiliser le paramètre position.

SELECT LOCATE('o', 'Hello, World!', 12);
Copier après la connexion

Exécutez le code ci-dessus et le résultat de sortie est 13, qui représente la position du caractère « o » dans la chaîne recherchée à partir de la position 12.

Exemple 3 :

La fonction LOCATE peut également être utilisée en combinaison avec d'autres fonctions pour réaliser un traitement de chaîne plus complexe.

Supposons qu'il existe une table name_list qui stocke un ensemble de noms séparés par des virgules :

+--------------------------+
|         name_list         |
+--------------------------+
| John, Mary, Tom, Alice   |
+--------------------------+
Copier après la connexion

Maintenant, nous voulons trouver la position d'un nom dans name_list et renvoyer les résultats sous forme séparée par des virgules.

SELECT name_list,
       CONCAT(LOCATE('Alice', name_list),
              ',',
              IF(LOCATE('Alice', name_list), 1, 0),
              ',',
              IF(LOCATE('Alice', name_list), LOCATE(',', name_list, LOCATE('Alice', name_list)), 0)
              )
FROM name_list;
Copier après la connexion

Dans le code ci-dessus, la fonction LOCATE est utilisée pour trouver la position de 'Alice' dans la liste de noms, et combinée avec la fonction CONCAT, les résultats sont renvoyés sous forme séparée par des virgules. Si 'Alice' n'existe pas, utilisez la fonction IF pour renvoyer 0.

Exécutez le code ci-dessus, le résultat de sortie est :

+--------------------------+-----------------------------+
|         name_list         | 输出结果                    |
+--------------------------+-----------------------------+
| John, Mary, Tom, Alice   | 14,1,19                    |
+--------------------------+-----------------------------+
Copier après la connexion

L'exemple ci-dessus détaille comment utiliser la fonction LOCATE pour trouver la position d'une sous-chaîne dans une chaîne dans MySQL et fournit des exemples de code correspondants. En utilisant de manière flexible la fonction LOCATE, nous pouvons facilement effectuer des opérations de traitement de chaînes et de requêtes. Nous espérons que les lecteurs pourront appliquer ces connaissances dans la pratique et améliorer l'efficacité du travail.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal