2010-04-12 28 views
10

Quiero escribir un procedimiento de comparación (t-sql) para el sitio seo.Sql selecciona las filas que contienen parte de la cadena

Tengo una tabla con el campo 'url' (nvarchar()) que contiene una parte de las URL del sitio. Ej .: 'mysyte.com/?id=2'. Además, esta tabla para cada url contiene metadatos, que necesito extraer.

El principal problema es que la URL completa en el sitio se parece a 'mysyte.com/?id=2 & región = 0 & page = 1', y sólo hay que ignorar everething, excepto url en la tabla:

quiero decir: 'mysyte.com/?id=2' => es una parte de '& región mysyte.com/?id=2 = 0 & page = 1'

Respuesta

4

puede usar CHARINDEX en t-sql.

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

45

Usted puede utilizar el operador LIKE para comparar el contenido de una cadena de T-SQL, por ejemplo,

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

El porcentaje carácter '%' es una tarjeta- salvaje en este caso se dice devuelve ningún registro donde [campo] al menos contiene el valor "stringtosearchfor".

+1

Para buscar una cadena que comience con un cierto prefijo, puede hacer LIKE 'prefix%' – tschwab

Cuestiones relacionadas