Maison >base de données >tutoriel mysql >Comment puis-je trouver les lignes MySQL contenues dans une chaîne spécifique ?

Comment puis-je trouver les lignes MySQL contenues dans une chaîne spécifique ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-25 22:23:10620parcourir

How Can I Find MySQL Rows Contained Within a Specific String?

Recherche de lignes contenant une chaîne de requête : l'inverse de l'opérateur LIKE

Dans MySQL, l'opérateur LIKE est couramment utilisé pour rechercher des lignes qui contenir un modèle de texte spécifié. Par exemple, une requête telle que :

SELECT name FROM user WHERE name LIKE "%john%"

renverrait des enregistrements tels que « John Smith » et « Peter Johnson ». Cependant, que se passe-t-il si vous devez effectuer l’opération inverse ? Autrement dit, recherchez les lignes qui contiennent elles-mêmes une chaîne donnée.

Réaliser l'inverse de LIKE

Pour rechercher des lignes contenues dans une chaîne de requête, vous pouvez utilisez une combinaison de l'opérateur LIKE et de la fonction CONCAT(). Voici un exemple :

SELECT name FROM user 
WHERE 'John Smith and Peter Johnson are best friends' LIKE
  CONCAT('%', name, '%')

Dans cette requête, la fonction CONCAT() joint un caractère générique (%) au champ de nom pour créer un modèle :

%name%

L'opérateur LIKE fait ensuite correspondre ce modèle à la chaîne fournie, identifiant toutes les lignes contenant des noms trouvés à l'intérieur. Ainsi, dans ce cas, il récupérerait « John Smith » et « Peter Johnson ».

Cette technique vous permet de rechercher des lignes contenues dans une chaîne plus grande, inversant ainsi la fonctionnalité de l'opérateur LIKE et offrant un moyen flexible de rechercher des données spécifiques dans une base de données.

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