Maison > base de données > tutoriel mysql > méthode floue de correspondance régulière mysql pour interroger un certain champ

méthode floue de correspondance régulière mysql pour interroger un certain champ

coldplay.xixi
Libérer: 2020-06-30 10:31:18
avant
2630 Les gens l'ont consulté

méthode floue de correspondance régulière mysql pour interroger un certain champ

requête floue de correspondance régulière mysql pour un certain champ

Lorsque nous interrogeons un certain champ, parfois nous seulement si nous voulons faire correspondre une certaine donnée, par exemple, si nous voulons interroger tous les mots-clés de cet article pour voir si un certain mot-clé existe, nous devons souvent faire la correspondance. Expliquons comment faire correspondre et interroger une certaine valeur de mot-clé
Requête floue SQL La syntaxe est
"SELECT column FROM table WHERE column LIKE ';pattern';".

SQL propose quatre modes de correspondance :
1 % représente 0 caractère ou plus. L'instruction suivante :
SELECT * FROM user WHERE name LIKE ';%三%';
sélectionnera tous les noms contenant "三", tels que "Zhang San", "Chat à trois pattes", " Tang Sanzang", etc. Découvrez ;

2. _ représente n'importe quel personnage. Instruction :
SELECT * FROM user WHERE name LIKE ';_三_';
Trouver uniquement "Tang Sanzang" dont le nom comporte trois caractères et celui du milieu est "三"
SELECT * FROM user WHERE ; nom LIKE ';三__';
Recherchez uniquement "chat à trois pattes" dont le nom comporte trois caractères et le premier caractère est "三";

3. entre parenthèses (semblable à une expression régulière). Instruction :
SELECT * FROM user WHERE name LIKE ';[张李王]三';
trouvera "Zhang San", "Li San", "Wang San" (au lieu de "Zhang Li Wang San" ");

Si [ ] contient une série de caractères (01234, abcde, etc.), il peut être abrégé en "0-4", "a-e"
SELECT * FROM utilisateur WHERE nom LIKE '; Old[1-9]';
trouvera "old1", "old2",...,"old9";
Si vous souhaitez trouver le caractère "-", veuillez le mettre en premier : ' ;张三[-1-9]';

4. [^ ] représente un seul caractère non répertorié entre parenthèses. Déclaration :
SELECT * FROM user WHERE name LIKE ';[^Zhang Liwang]三';
trouvera "Zhao San" et "Sun" qui ne sont pas surnommés "Zhang", "Li" et "Wang " "Trois" et ainsi de suite ;
SELECT * FROM user WHERE name LIKE ';老[^1-4]';
exclura "old 1" à "old 4" pour trouver "old 5", "vieux 6", ..., "Vieux 9".

! La dernière chose est le point !
En raison des caractères génériques, notre requête pour les caractères spéciaux "%", "_", "[" et "';" ne peut pas être exécutée normalement. Cependant, les caractères spéciaux entourés de "[ ]" peuvent être interrogés normalement. Sur cette base, nous écrivons la fonction suivante :

function sqlencode(str)
str=replace(str,"';","';';")
str=replace(str ," [","[[]") ';Cette phrase doit venir en premier
str=replace(str,"_","[_]")
str=replace(str,"%", "[%]")
sqlencode=str
end function

Tutoriel 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:liqingbo.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