Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 сколько раз в строке встречается слово  [new]
aryumin
Member

Откуда:
Сообщений: 18
Здравствуйте! подскажите, пожалуйста, как можно определить сколько раз встречается слово в строке в MS SQL?
Допустим, я хочу узнать, сколько раз в строке
"слово1 слово1 слово1 слово2 слово3"
встречается "слово1"

спасибо
16 окт 14, 00:55    [16711194]     Ответить | Цитировать Сообщить модератору
 Re: сколько раз в строке встречается слово  [new]
Ray D
Member

Откуда: from the middle of nowhere
Сообщений: 3598
Блог
declare @str nvarchar(max) = N'слово1 слово1 слово1 слово2 слово3слово1 слово3'
declare @word nvarchar(256) = N'слово1'
select (len(@str) - len(replace(@str, @word, ''))) / len(@word)
16 окт 14, 04:56    [16711430]     Ответить | Цитировать Сообщить модератору
 Re: сколько раз в строке встречается слово  [new]
Сон Веры Павловны
Member

Откуда:
Сообщений: 5975
2897808 , задача №7 - count() по результатам CTE.
16 окт 14, 06:11    [16711441]     Ответить | Цитировать Сообщить модератору
 Re: сколько раз в строке встречается слово  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
Ray D
declare @str nvarchar(max) = N'слово1 слово1 слово1 слово2 слово3слово1 слово3'
declare @word nvarchar(256) = N'слово1'
select (len(@str) - len(replace(@str, @word, ''))) / len(@word)
так плохо - после замены могут появиться хвостовые пробелы,
а их LEN() не учитывает.
Лучше DATALENGTH()
16 окт 14, 09:37    [16711764]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить