Моего запроса как этогоSql запроса на точные совпадения слов
declare @searchWord varchar(100)
set @searchWord = 'carb9'
declare @tableWord varchar(100)
set @tableWord = 'Racing Carb9 uretor'
--set @tableWord = 'carb9'
select 1
where @tableWord like '%[^a-z0-9]' + @searchWord + '[^a-z0-9]%'
or @tableWord like @searchWord + '[^a-z0-9]%'
or @tableWord like '%[^a-z0-9]' + @searchWord
Этот запрос работает, когда @tableWord является «Гонки Carb9 uretor», но не работает, когда @tableword просто «carb9». Он должен работать в обоих условиях. Что я делаю неправильно?
Что вы пытаетесь здесь сделать? –
Если вы вставляете @tableWord в пробелы, вам не нужно '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '+ @tableWord + '' like '% [^ a- z0-9] '+ @searchWord +' [^ a-z0-9]% ''. –