J’ai besoin d’un select qui retourne des résultats comme celui-ci :
Et j’ai besoin de tous les résultats, y compris les chaînes avec « mot2 mot3 mot1 » ou « mot1 mot2 mot3 » tous les mots doit se trouver dans le résultat.
J’ai besoin d’un select qui retourne des résultats comme celui-ci :
Et j’ai besoin de tous les résultats, y compris les chaînes avec « mot2 mot3 mot1 » ou « mot1 mot2 mot3 » tous les mots doit se trouver dans le résultat.
Méthode plutôt lente, mais travail pour inclure n’importe quel des mots :
Si vous avez besoin de tous les mots d’être présent, utilisez ceci :
Si vous voulez quelque chose de plus rapide, il faut se pencher sur la recherche en texte intégral, et c’est très spécifique pour chaque type de base de données.
Notez que si vous utilisez LIKE
afin de déterminer si une chaîne est une chaîne à une autre chaîne, vous devez vous échapper le modèle de caractères correspondants dans votre chaîne de recherche.
Si votre dialecte SQL prend en charge CHARINDEX
, c'est beaucoup plus facile à utiliser à la place:
SELECT * FROM MyTable
WHERE CHARINDEX('word1', Column1) > 0
AND CHARINDEX('word2', Column1) > 0
AND CHARINDEX('word3', Column1) > 0
Veuillez également garder à l'esprit que ce et de la méthode dans la accepté de répondre à couvrir seulement la sous-chaîne correspondant plutôt que le mot correspondant. Ainsi, par exemple, la chaîne 'word1word2word3'
serait encore de match.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.