Как найти конкретное слово в длинной строке текстового поля и посчитать их - sqlserver - PullRequest
0 голосов
/ 12 февраля 2019

Я пытаюсь посчитать слово, если сколько раз оно встречается в строке или предложении из текстового поля.Например: объявите @text как nvarchar (max). SET @text = 'Отскок проверьте эту дату, отскок снова, затем отскок, а затем отскок снова на эту дату.Проверьте BOUNCED '

Итак, я хочу посчитать, сколько "отказов", где там.Моя цель - увидеть, как наши клиенты работают с выдачей чеков, и мы записываем их таким образом, как предложение.

Я попробовал следующий код, но он показывает больше, чем должен.Отказов появляется 5, но мой код имеет значение 8.

DECLARE @text as nvarchar(max)
SET @text = 'Bounce what will you bounce do that changed bounce bounce bounce'

SELECT DISTINCT
ISNULL(((Datalength(@text) - Datalength(REPLACE(CAST(@text as nvarchar(max)), 'BOUNCE',4)))/Datalength('BOUNCE')),0) [BounceRate]

Я ожидаю, что результат будет 5

1 Ответ

0 голосов
/ 12 февраля 2019

ОБЪЯВИТЬ @text AS NVARCHAR (макс.)

SET @text = 'Отказов, что вы будете делать, чтобы изменить это изменение отказов отказов'

SELECT (len (@text) - len (replace (@text, 'bounce', ''))) / len ('bounce')

можете попробовать это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...