Sql选择包含部分字符串的行

时间:2010-04-12 11:19:16

标签: sql tsql

我想为网站搜索引入一个比较程序(t-sql)。

我有一个包含字段'url'(nvarchar())的表,其中包含网站网址的一部分。 例如:' mysyte.com/?id=2 '。此每个网址的表格还包含我需要提取的元数据。

主要问题是网站上的完整网址看起来像' mysyte.com/?id=2&region=0&page=1 ',我只需要忽略其他内容,除了网址在表格中:

我的意思是:'mysyte.com/?id = 2'=>是'mysyte.com/?id=2&region=0&page=1'

的一部分

3 个答案:

答案 0 :(得分:51)

您可以使用LIKE运算符来比较T-SQL字符串的内容,例如

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

百分比字符'%'是外卡 - 在这种情况下,它表示返回任何记录,其中[field] 至少包含值“stringtosearchfor”。

答案 1 :(得分:6)

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

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

答案 2 :(得分:5)

你可以在t-sql中使用CHARINDEX

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