Maison >base de données >tutoriel mysql >MySQL Advanced (6) Introduction à quatre utilisations de requêtes floues

MySQL Advanced (6) Introduction à quatre utilisations de requêtes floues

黄舟
黄舟original
2017-02-09 15:22:42991parcourir

Introduction aux quatre utilisations des requêtes floues dans MySQL

Cet article présente principalement les quatre utilisations des requêtes floues dans MySQL. Les amis dans le besoin peuvent s'y référer.

Ce qui suit présente quatre utilisations de la requête floue dans MySQL :

1 % :

représente 0 ou plusieurs caractères. Peut correspondre à des caractères de n'importe quel type et longueur. Dans certains cas, s'il s'agit de chinois, veuillez utiliser des signes de deux pour cent (%%) pour l'exprimer.

Par exemple, SELECT * FROM [user] WHERE u_name LIKE '%三%'

traitera u_name comme "Zhang San", "Zhang Cat San", "Chat à trois pattes" , "Tang Tripitaka" et ainsi de suite, trouvez tous les disques contenant "trois".

De plus, si vous avez besoin de rechercher des enregistrements contenant à la fois "三" et "cat" dans u_name, veuillez utiliser la condition et

SELECT * FROM [user] WHERE u_name LIKE '%三%' AND u_name LIKE '%猫%'

Si vous utilisez SELECT * FROM [user] WHERE u_name LIKE '%三%cat%'

Bien que "chat à trois pattes" puisse être recherché, "Zhang Cat San" qui remplit les conditions ne peut pas être recherché.

2 _ :

représente n'importe quel caractère. Correspond à un seul caractère arbitraire, qui est souvent utilisé pour limiter la longueur des caractères des expressions :

Par exemple, SELECT * FROM [user] WHERE u_name LIKE '_三_'

Recherche uniquement " Tang Sanzang" De cette façon, u_name a trois caractères et le caractère du milieu est "三";

Un autre exemple est SELECT * FROM [user] WHERE u_name LIKE '三__'; recherchez uniquement "三级" Cat" a un nom de trois caractères et le premier caractère est "三" ;

3 [ ] :

représente l'un des caractères répertoriés entre parenthèses (similaire à une expression régulière) . Spécifiez un caractère, une chaîne ou une plage et exigez que l'objet correspondant soit l'un d'entre eux.

Par exemple, SELECT * FROM [user] WHERE u_name LIKE '[Zhang Li Wang] San' 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 [user] WHERE u_name LIKE '老[1-9]' 将找出“老1”、“老2”、……、“老9”;

4 [^ ] :

représente un seul caractère non répertorié entre parenthèses. Sa valeur est la même que celle de [], mais elle nécessite que l'objet correspondant soit un caractère autre que le caractère spécifié.

Par exemple, SELECT * FROM [user] WHERE u_name LIKE '[^Zhang Li Wang] San' trouvera "Zhao San" et "Sun San" dont les noms de famille ne sont pas "Zhang", "Li" et "Wang" " etc.;

SELECT * FROM [user] WHERE u_name LIKE '老[^1-4]'; 将排除“老1”到“老4”,寻找“老5”、“老6”、……


5 Lorsque le contenu de la requête contient des caractères génériques

En raison des caractères génériques, nous interrogeons les caractères spéciaux "%" et "_", "[" ne peuvent pas être implémentées normalement, mais les caractères spéciaux peuvent être interrogés normalement s'ils sont placés entre "[ ]". 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

Ce qui précède sont les quatre étapes de mysql avancé (6) requête floue Une introduction à l'utilisation. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !


Déclaration:
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