2010-07-01 1 views

ответ

1

Другой возможности вашей подстроки использовать LIKE:

SELECT 
    MT.column_1, 
    .... 
FROM 
    My_Table MT 
WHERE 
    some_column LIKE '%' + @search_string + '%' 
+0

Это будет работать, но использование шаблона '% search%' - способ пропускать любые индексы, которые могут присутствовать, что приводит к полному сканированию таблицы и, следовательно, к ужасно плохой производительности .... –

+0

Это будет иметь место в любом решении, кроме полнотекстового поиска, где вы пытаетесь найдите строку внутри столбца. –

0

Вы можете использовать CHARINDEX

Select * From YourTable 
Where 
CharIndex('yoursubstring', myfield) > 0 
0

Try PATINDEX.

SELECT * 
FROM Table 
WHERE patindex('%string%', data) > 0 
0
select * from mytable where myfield like '%literalstring%' 

или

select * from mytable where myfield like '%' + @stringvar + '%' 

... не совсем ясно, является ли буквальной или переменной

Смежные вопросы