Использование SQL Server 2008 без использования полнотекстового индексирования или интеграции CLR, есть лучший способ поиска столбец таблицы для произвольного текста, чем следующее:Есть ли лучший способ поиска произвольного текста в SQL Server 2008 без CLR или полного текста?
declare @SubString nvarchar(max) = 'Desired substring may contain any special character such as %^_[]'
select * from Items where Name like '%' +
replace(
replace(
replace(
replace(
replace(
replace(
@SubString
,';',';;')
,'%',';%')
,'[',';[')
,']',';]')
,'^',';^')
,'_',';_')
+ '%' escape ';'
Это работает, но это, кажется, излишне варварскими. Есть ли более простой, понятный или более эффективный способ, учитывая указанные ограничения?
Нет ограничений на то, что может содержать столбец Name
, а также то, что может содержать подстрока, которую мы ищем.
Ну, вместо использования 'LIKE' вы можете использовать функцию' CHARINDEX'. Но это не какое-то улучшение. – DeadZone