Запрос для создания списка компаний, которые имеют «до» более одного раза в своих именах.найти несколько слов в одной строке
Для примера:
Company Name
Ittal PLC (adz ll **prior to** 04/2012) (Z Amp C **prior to** 02/2009)
Запрос для создания списка компаний, которые имеют «до» более одного раза в своих именах.найти несколько слов в одной строке
Для примера:
Company Name
Ittal PLC (adz ll **prior to** 04/2012) (Z Amp C **prior to** 02/2009)
Попробуйте
select *
from Yourtable
where len([Company Name]) - len(replace([Company Name],'prior to','')) > 1
and len([Company Name]) - len(replace([Company Name],'prior to','')) <> len('prior to')
Я не думаю, что это сработает. OP хочет найти [название компании] с более чем одним случаем «до». Приведенный выше код будет возвращать строки только с одним вхождением. Вы можете заменить> 1 на> = (LEN ('до') * 2). Это означало бы, где текст был заменен дважды или более. Конечно, подход GordonLinoff (используя LIKE) был бы намного проще. –
@ данные назначения - исправлены. Добавлена демоверсия –
Один простой способ заключается в использовании like
:
where CompanyName like '%prior to%prior to%'
Я бы, вероятно, реализовал это как двухэтапный процесс.
1) Найти все подборки, которые соответствуют до.
E.g.
ВЫБОР company_name ОТ COMPANY_TABLE ГДЕ company_name КАК '% до%'
2) перебирать все записи и находить только те, которые имеют 2 вхождений до подстроки (на любом языке, который вы используете).
Hi. Можете ли вы показать нам, что вы пробовали до сих пор? Где у вас возникают трудности? –