2010-04-12 6 views
10

Je souhaite écrire une procédure de comparaison (t-sql) pour le site seo.Sql sélectionner des lignes contenant une partie de la chaîne

J'ai une table avec le champ 'url' (nvarchar()) qui contient une partie des URL du site. Ex: 'mysyte.com/?id=2'. Aussi cette table pour chaque URL contient des métadonnées, que j'ai besoin d'extraire.

Le principal problème est que l'URL complète sur le site ressemble à 'mysyte.com/?id=2 & region = 0 & page = 1', et j'ai juste besoin d'ignorer everething, sauf url dans le tableau:

Je veux dire: 'mysyte.com/?id=2' => est une partie de 'mysyte.com/?id=2 & région = 0 & page = 1'

Répondre

4

vous pouvez utiliser CHARINDEX dans t-sql.

select * from table where CHARINDEX(url, 'http://url.com/url?url...') > 0

45

Vous pouvez utiliser l'opérateur LIKE pour comparer le contenu d'une chaîne T-SQL, par exemple

SELECT * FROM [table] WHERE [field] LIKE '%stringtosearchfor%'. 

Le caractère pour cent « % » est un card- sauvage dans ce cas, il dit renvoie aucun enregistrements où [champ] au moins contient la valeur « stringtosearchfor ».

+1

Pour rechercher une chaîne commençant par un certain préfixe, vous pouvez faire LIKE 'préfixe%' – tschwab

Questions connexes