2009-09-24 5 views
0

Lorsque vous faites une requête SQL et que je veux extraire des entrées d'une table qui ont AND dans le nom, mais je ne veux pas de noms qui ont juste et en eux .. ...Requête SQL (J'aime) Essayer de trouver des titres avec AND

Déroutant, mais je vais vous montrer un exemple

Il y a 2 entrées dans la table:

  • Pandomniam
  • Frank et les haricots.

Quand je fais la requête, je veux juste Frank et les haricots à venir, pas Pandomniam. Je fais quelque chose comme

SELECT NAME FROM TABLE WHERE NAME LIKE '%and%' 

cela m'apportera des résultats, mais j'ai les unsededed. Mon premier instinct est d'essayer de voir si je peux obtenir juste Pandomniam dans un résultat afin que je puisse faire un ET PAS aimer les filtrer mais je n'arrive pas à en trouver un.

Répondre

2

Que diriez-vous d'ajouter un espace couple:

SELECT NAME FROM TABLE WHERE NAME LIKE '% and %' 
3
SELECT NAME FROM TABLE WHERE NAME LIKE '% and %' 
4
SELECT NAME FROM TABLE 
WHERE 
NAME LIKE '% and %' OR 
NAME LIKE 'and %' OR 
NAME LIKE '% and' 
+0

cela inclura "marque" et "andean" – moo

+2

@ orlandu63: non, ce ne serait pas. – richardtallent

1

Vous ne dites pas quelle marque de SGBDR que vous utilisez. MySQL supporte un prédicat d'expression régulière RLIKE avec une séquence métacaractère pour « limite de mot »:

SELECT NAME FROM TABLE WHERE NAME RLIKE '[[:<:]]and[[:>:]]' 

Si vous utilisez une autre marque de base de données autre que MySQL, peut-être vous pouvez rechercher ses caractéristiques d'expression régulière.

Questions connexes