2015-04-21 2 views
0

Я пытаюсь сделать ГДЕ myColumn как -Секундовое слово «есть» -. Поскольку я не могу использовать регулярные выражения, я не могу это сделать. '% is' возвращает результаты, которые впоследствии имеют слово ... Возможно ли это?SQL-сервер как оператор для второго слова

+0

Если этого достаточно для проверки, является ли это i n столбец не в начале, не в конце, а в середине, тогда 'like '% is%' –

+0

Мне нужно, чтобы это было именно второе слово. –

+1

Вы также можете использовать подстроку для выполнения этого. – FutbolFan

ответ

1

Это не особенно элегантно, но это будет работать:

select * from MyTable 
    where MyColumn like '%[ ]SearchTerm%' and 
     CHARINDEX(' ', MyColumn, 0) + 1 = CHARINDEX('SearchTerm', MyColumn, 0) 

Это предполагает таблицу с именем MyTable, столбец, чтобы посмотреть в называется MyColumn и строку для поиска «SearchTerm»

+0

Я использовал это, и он работал без сучка и задоринки. Скорость тоже была хорошей. –

0

Здесь вы идете:

SELECT * 
FROM TestTB 
WHERE SUBSTRING(TestColumn, CHARINDEX('-', TestColumn, 1), CHARINDEX('-', TestColumn, 1) + 1) LIKE '%Val%' 

Sql Fiddle Demo

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