Sql выбрать строки, содержащие часть строки

Я хочу написать процедуру сравнения (t-sql) для сайта seo.

У меня есть таблица с полем 'url' (nvarchar()), которые содержат часть URL-адреса сайта. Пример: "mysyte.com/?id=2". Также эта таблица для каждого URL содержит метаданные, которые мне нужно извлечь.

Основная проблема заключается в том, что полный URL-адрес на сайте выглядит как "mysyte.com/?id=2&region=0&page=1", и мне просто нужно игнорировать все, кроме URL-адреса в таблице:

Я имею в виду: 'mysyte.com/?id=2' = > является частью 'mysyte.com/?id=2&region=0&page=1'

Ответ 2

Вы можете использовать оператор LIKE для сравнения содержимого строки T-SQL, например.

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

Процент символа "%" - это дикая карта, в этом случае он возвращает любые записи, в которых [поле] по крайней мере содержит значение "stringtosearchfor".

Ответ 3

вы можете использовать CHARINDEX в t-sql.

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