Maison > base de données > tutoriel mysql > le corps du texte

Comment interroger la chaîne contenue dans MySQL

WBOY
Libérer: 2022-02-24 11:30:42
original
25862 Les gens l'ont consulté

Méthode : 1. Utilisez "nom de la table où le champ ressemble à '% chaîne%'" pour interroger ; 2. Utilisez "nom de la table où find_in_set (chaîne, champ)" pour interroger ; ,champ)" requête.

Comment interroger la chaîne contenue dans MySQL

L'environnement d'exploitation de ce tutoriel : système windows10, version mysql8.0.22, ordinateur Dell G3.

Comment interroger la chaîne contenue dans MySQL

Résumez les 3 méthodes pour déterminer si une certaine chaîne contient une certaine chaîne dans MySQL.

Prenons d'abord un scénario simple, comme interroger la table utilisateur pour les enregistrements avec yanggb dans le hobby.

Méthode 1 : Utilisez le caractère générique %.

Wildcard est également une correspondance floue, qui peut être divisée en requête floue principale, requête floue finale et requête de correspondance principale totale. Elle convient au scénario consistant à demander si une certaine chaîne contient une autre requête floue. Le scénario d'utilisation de

select * from user where hobby like '%yanggb%';
Copier après la connexion

se limite à trouver les enregistrements de yanggb dans hobby (hobby est constitué de plusieurs valeurs séparées par des virgules), mais pas l'inverse.

Méthode 2 : utilisez la fonction de chaîne find_in_set() fournie par MySQL.

MySQL fournit une fonction de chaîne find_in_set(str1,str2), qui est utilisée pour renvoyer l'index de position de str1 dans str2 S'il est trouvé, il renvoie true (1), sinon il renvoie false (0), où. str2 doit être séparé par des virgules demi-largeur [,].

select * from user where find_in_set('yanggb', hobby);
Copier après la connexion

Lorsque la chaîne correspondante est utilisée comme premier paramètre, le scénario applicable consiste à trouver les enregistrements de yanggb dans hobby (hobby est constitué de plusieurs valeurs séparées par des virgules).

select * from user where find_in_set(hobby, 'yanggb1,yanggb2,yanggb3');
Copier après la connexion

Lorsque la chaîne correspondante est utilisée comme deuxième paramètre, le scénario applicable consiste à rechercher des enregistrements avec l'un des yanggb1, yanggb2 et yanggb3 dans hobby (hobby est une valeur unique).

Méthode 3 : utilisez la fonction de chaîne Locate() fournie par MySQL.

MySQL fournit également une fonction de fonction de chaîne Locate(substr, str), qui est utilisée pour renvoyer l'index de position de substr dans str. S'il est trouvé, il renvoie un nombre supérieur à 0, sinon il renvoie 0.

select * from user where locate('yanggb', hobby) > 0;
Copier après la connexion

Les scénarios applicables sont similaires à la fonction find_in_set(). La seule différence entre les deux fonctions est la valeur de retour.

Apprentissage recommandé : Tutoriel vidéo mysql

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