MySQL : recherche de chaînes contenues dans un texte de requête
L'opérateur LIKE dans MySQL est un outil puissant pour rechercher des lignes contenant une sous-chaîne spécifiée . Toutefois, que se passe-t-il si vous devez effectuer une recherche inversée pour rechercher les lignes contenues dans le texte d'une requête ?
Par exemple, étant donné la chaîne de requête « John Smith et Peter Johnson sont les meilleurs amis », vous souhaiterez peut-être récupérer tous les noms d'une table qui apparaissent dans cette chaîne.
Pour y parvenir, vous pouvez utiliser la fonction CONCAT pour concaténer un caractère générique (%) avec la colonne de nom, puis utiliser LIKE pour effectuer une recherche dans la requête. string :
SELECT name FROM user WHERE 'John Smith and Peter Johnson are best friends' LIKE CONCAT('%', name, '%')
Cette requête construit une version modifiée de la chaîne de requête en ajoutant des caractères génériques autour de chaque nom dans la table. L'opérateur LIKE compare ensuite cette chaîne modifiée à la chaîne de requête d'origine, renvoyant les noms qui s'y trouvent.
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!