Maison  >  Article  >  base de données  >  Tutoriel sur l'utilisation de caractères génériques pour filtrer dans MySQL

Tutoriel sur l'utilisation de caractères génériques pour filtrer dans MySQL

巴扎黑
巴扎黑original
2017-05-02 18:19:401679parcourir

Que sont les caractères génériques ?

Un caractère générique est un caractère spécial utilisé pour faire correspondre une partie d'une valeur.

Mode de recherche : critères de recherche composés de valeurs littérales, de caractères génériques ou d'une combinaison des deux.


Opérateur 1.like :

Tous les opérateurs introduits précédemment concernent les valeurs constantes filtrées. Qu'il s'agisse de valeurs correspondantes ou multiples, de tests supérieurs ou inférieurs à une valeur connue ou de vérification d'une plage de valeurs, le dénominateur commun est que les valeurs utilisées dans le filtrage sont connues. Cependant, cette méthode de filtrage n'est pas toujours simple à utiliser. Par exemple, comment rechercher tous les produits dont les noms de produits contiennent le texte enclume ? Il est impossible d'utiliser des opérateurs de comparaison simples, vous devez utiliser des caractères génériques. Utilisez des caractères génériques pour créer des modèles de recherche qui comparent des données spécifiques. Dans cet exemple, si vous souhaitez rechercher tous les produits dont les noms contiennent une enclume, vous pouvez créer un modèle de recherche générique pour rechercher les produits pour lesquels l'enclume apparaît n'importe où dans le nom du produit.

Pour utiliser des caractères génériques dans les clauses de recherche, l'opérateur de lien doit être utilisé. comme le demande MySQL, suivi d'un modèle de recherche qui utilise la correspondance par caractères génériques au lieu de la correspondance d'égalité directe à des fins de comparaison.


2. Caractère générique de signe de pourcentage (%)

Le caractère générique le plus couramment utilisé est le nombre de pourcentage. (%). Dans une chaîne de recherche, % représente n'importe quel nombre d'occurrences de n'importe quel caractère. Par exemple, pour rechercher tous les produits commençant par le mot a, vous pouvez utiliser l'instruction select suivante :

select prod_id, prod_name from products which prod_name like 'a%' ;

Cet exemple utilise modèle de recherche 'a%'. Lors de l'exécution de cette phrase, recherchez n'importe quel mot commençant par a. % indique à MySQL d'accepter n'importe quel caractère après a, quel que soit le nombre de caractères dont il dispose.

Remarque : selon la configuration de MySQL, la recherche peut être sensible à la casse. S'il est sensible à la casse, « a% » ne correspond pas au mot Apache.

Les caractères génériques peuvent être utilisés n'importe où dans le modèle de recherche, et plusieurs caractères génériques peuvent être utilisés. L'exemple suivant utilise deux caractères génériques, situés aux deux extrémités du modèle :

sélectionnez prod_id, prod_name parmi les produits où prod_name ressemble à '%a%' ;

Analyse du code : modèle de recherche ' %a%' ' signifie correspondre à n'importe quelle valeur contenant l'enclume de texte, quels que soient les caractères qui apparaissent avant ou après.

Des caractères génériques peuvent également apparaître au milieu des modèles de recherche. Par exemple, l'exemple suivant :

sélectionnez prod_name parmi les produits où prod_name ressemble à '%a%';

Il est important de noter qu'en plus d'un ou plusieurs caractères, % peut correspondre à 0 personnage. % représente 0, 1 ou plusieurs caractères à une position donnée dans le modèle de recherche.

Remarque  : 1. Les espaces peuvent interférer avec la correspondance des caractères génériques. Par exemple, lorsqu'il y a un ou plusieurs espaces après a dans '%a%', la clause où prod_name like '%a%' ne les correspondra pas car il y a des caractères supplémentaires après a. Un moyen simple de résoudre ce problème consiste à ajouter un % à la fin du modèle de recherche. Une autre meilleure façon consiste à utiliser une fonction pour supprimer les espaces de fin.

2. Bien qu'il semble que le caractère générique % puisse correspondre à n'importe quoi, il existe une exception, qui est NULL. Même lorsque prod_name comme « % » ne correspond pas aux lignes avec la valeur NULL comme nom de produit.


3. Souligner le caractère générique '_'

Un autre caractère générique utile est le trait de soulignement (_ ). Le trait de soulignement a le même objectif que %, mais il correspond à un seul caractère au lieu de plusieurs caractères.

Par exemple :

sélectionnez prod_id,prod_name parmi les produits où les produits où prod_name aiment '_ tonne enclume' ;

Sortie :

Tutoriel sur lutilisation de caractères génériques pour filtrer dans MySQL

Le modèle de recherche dans cette clause Where donne deux caractères génériques suivis de texte. Les résultats affichent uniquement les lignes qui correspondent au modèle de recherche : le soulignement de la première ligne correspond à 1 et le soulignement de la deuxième ligne correspond à 2.

Vous pouvez essayer d'utiliser % pour faire correspondre les résultats renvoyés et les comparer.

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!

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