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

Max*_*xim 14 sql t-sql

我想为网站seo写一个比较程序(t-sql).

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

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

我的意思是:'mysyte.com/?id=2'=>是'mysyte.com/?id=2®ion=0&page=1'的一部分

Wis*_*yEh 53

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

SELECT * FROM [table] WHERE [field] LIKE '%stringtosearchfor%'.
Run Code Online (Sandbox Code Playgroud)

字符'%'是一个外卡 - 在这种情况下它表示返回任何记录,其中[field] 至少包含值"stringtosearchfor".


Jon*_*han 7

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

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


chr*_*ris 6

您可以CHARINDEX在t-sql中使用。

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