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!