Как считать varchar в varchar с помощью TSQL
Каков наилучший способ подсчитать возникновение варчара внутри варчара?
Я скорее не перебираю текст, чтобы найти определенные комбинации.
Этот выбор только найти первый
SELECT CASE WHEN CHARINDEX('!','HOW MANY TIMES IS ! IN THIS TEXT ? THIS IS MY QUESTION !' ) > 0 THEN 1 ELSE 0 END
Возвращает 1
Мне нужен метод, чтобы найти общее количество совпадений
TABLE DATA
SEARCHTEXT LONGTEXT
! HOW MANY TIMES IS ! IN THIS TEXT ? THIS IS MY QUESTION !
HELLO HELLO HELLO HELLO HELLO HELLO HELLO
L HELLO HELLO HELLO HELLO HELLO HELLO
e more testdata
Ожидаемый результат
Count SEARCHTEXT LONGTEST
2 ! MANY TIMES IS ! IN THIS TEXT ? THIS IS MY QUESTION !
6 HELLO HELLO HELLO HELLO HELLO HELLO HELLO
12 L HELLO HELLO HELLO HELLO HELLO HELLO
2 e more testdata
Использование mssql server 2005
1 ответ
Решение
Вы могли бы использовать replace
сделать каждое вхождение на 1 символ длиннее и посчитать количество добавленных символов:
select len(replace(txt, search, search + '#')) - len(txt) as Count
, *
from YourTable