2017-10-16 4 views
0

comment rechercher un mot dans le serveur SQL.comment trouver un mot spécifique de la table en utilisant comme dans le serveur SQL

Je travaille sur le module de barre de recherche.

Lorsque je cherche des femmes dans une barre de recherche, toutes les femmes sont listées et c'est correct. Mais quand je cherche des hommes Il montre toute la liste des hommes et des femmes.

J'ai utilisé cette requête dessous:

select * from product where title like '%shirt%for%men%' 

Je veux rechercher mot pour les caractères non.

Comment écrire une requête pour rechercher uniquement un mot particulier dans les tables?

+3

Utilisez la recherche de texte intégral: https://docs.microsoft.com/en-us/sql/relational-databases/search/full-text-search. De toute évidence, les «hommes» correspondent aux «femmes». –

+0

Ajouter un échantillon de données et de résultats. –

+0

@GordonLinoff c'est réalisable en 2008? –

Répondre

2

Vous devez utiliser l'opérateur LIKE comme ci-dessous:

select * from product where title like '%shirt%for% men%' 

solution facile est d'ajouter de l'espace. Vous pouvez également utiliser regex

+0

J'étais sur le point de dire la même chose – SQLBadPanda

+0

cela fonctionne, mais il va commencer à échouer s'il y a un autre délimiteur est utilisé, sauf pour l'espace – ughai

+2

Cela pourrait tout aussi bien retourner les faux positifs. Et le serveur sql ne supporte pas regex, juste une version très légère pour le tri de pattern. –