Maxim
Maxim

Reputation: 1573

Sql select rows containing part of string

I want to write a comparation procedure (t-sql) for site seo.

I have a table with field 'url' (nvarchar()) that contain a part of site url's. Ex: 'mysyte.com/?id=2'. Also this table for each url contains metadata, that i need to extract.

The main problem is that full url on site looks like 'mysyte.com/?id=2&region=0&page=1', and i just need to ignore everething, except url in table:

I mean: 'mysyte.com/?id=2' => is a part of 'mysyte.com/?id=2&region=0&page=1'

Upvotes: 29

Views: 170993

Answers (3)

WiseGuyEh
WiseGuyEh

Reputation: 19080

You can use the LIKE operator to compare the content of a T-SQL string, e.g.

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

The percent character '%' is a wild card- in this case it says return any records where [field] at least contains the value "stringtosearchfor".

Upvotes: 86

chris
chris

Reputation: 9993

you can use CHARINDEX in t-sql.

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

Upvotes: 6

Jonathan
Jonathan

Reputation: 5993

SELECT *
FROM myTable
WHERE URL = LEFT('mysyte.com/?id=2&region=0&page=1', LEN(URL))

Or use CHARINDEX http://msdn.microsoft.com/en-us/library/aa258228(v=SQL.80).aspx

Upvotes: 7

Related Questions