Поиск количества слов в строке с использованием SQL - PullRequest
5 голосов
/ 14 октября 2011

База данных: Sql Server

У меня есть столбец таблицы с именем page_text, который содержит следующее значение

"Я люблю stackoverflow.com, потому что я могу публиковать вопросы и получать ответы в любое время."

Используя SQLQUERY Я хочу найти номер I, который у него есть.Таким образом, в этой строке она должна вернуть 4.

Я должен иметь возможность искать что-либо.

Ответы [ 3 ]

9 голосов
/ 14 октября 2011
declare @search varchar(10) = 'I'

select len(replace(PageText, @search, @search + '#')) 
- len(PageText) as Count from YourTable 
0 голосов
/ 14 октября 2011
SELECT (LEN(@Text) - LEN(REPLACE(@Text,@SearchString,''))/(Len(@SearchString))
0 голосов
/ 14 октября 2011

на основе этого кода: http://www.sql -server-helper.com / functions / count-character.aspx

Вы создаете функцию:

CREATE FUNCTION [dbo].[ufn_CountSpecificWords] ( @pInput VARCHAR(1000), @pWord VARCHAR(1000) )
RETURNS INT
BEGIN

RETURN (LEN(@pInput) - LEN(REPLACE(@pInput, ' ' + @pWord + ' ', '')))

END
GO

однако это означает, что вы сохраняете свои строки с начальным и конечным пробелом и заменяете любые другие разделители, такие как ',' и '.' с пробелами.

и вам нужно перефразировать свой вопрос, если вы хотите количество слов или просто появление слова.

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