2008-11-25 7 views
2

Je souhaite trouver toutes les lignes d'une table où une colonne est une sous-chaîne d'une autre colonne. En d'autres termes, supposons que j'ai une table (appelée people) avec deux colonnes: prénom et nom, et je veux trouver tous les gens comme "rob robinowitz" et "jill bajillion".comment puis-je écrire une requête sql qui trouve des lignes où une colonne est une sous-chaîne d'une autre colonne

Existe-t-il un moyen de faire quelque chose comme "select * from people où lastname comme% firstname%"? (Mais quelque chose qui fonctionne réellement).

+0

Par curiosité, est que votre vrai cas d'utilisation? Pourquoi est ce que tu veux faire ça? –

Répondre

5

Vous étiez près

select * from people where lastname like '%' + firstname + '%' 

manière alternative (peut être encore plus rapide)

select * from people where charindex(firstname,lastname)>0 
0

Si vous utilisez MySQL, vous pouvez

SELECT * FROM people WHERE INSTR(lastname, firstname) <> 0 
Questions connexes