我想为网站搜索引入一个比较程序(t-sql)。
我有一个包含字段'url'(nvarchar())的表,其中包含网站网址的一部分。 例如:' mysyte.com/?id=2 '。此每个网址的表格还包含我需要提取的元数据。
主要问题是网站上的完整网址看起来像' mysyte.com/?id=2®ion=0&page=1 ',我只需要忽略其他内容,除了网址在表格中:
我的意思是:'mysyte.com/?id = 2'=>是'mysyte.com/?id=2®ion=0&page=1'
的一部分答案 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®ion=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