Как я могу найти количество раз, когда строка1 присутствует в строке2 - PullRequest
0 голосов
/ 23 июня 2011
str2 ='welcome to sql server. Sql server is a product of Microsoft sql' 
str1 = 'sql'

Как узнать, сколько раз str1 присутствует в str2.Пожалуйста, помогите мне найти его.

Ответы [ 4 ]

3 голосов
/ 23 июня 2011

Это должно помочь:

DECLARE @str1 VARCHAR(10) 
SET @str1 = 'sql'
DECLARE @str2 VARCHAR(100) 
SET @str2 = 'welcome to sql server. Sql server is a product of Microsoft sql' 

SELECT (DATALENGTH(@str2) - DATALENGTH(REPLACE(@str2, @str1, ''))) / DATALENGTH(@str1)

Это просто удаляет все экземпляры @ str1 из @ str2 (используя REPLACE), сравнивая разницу в длине с исходным значением @ str2.Это дает общее количество символов, которые были удалены, поэтому вы делите на длину @ str1, чтобы узнать, сколько экземпляров было удалено.

1 голос
/ 23 июня 2011
declare @Str1 varchar(10)
declare @Str2 varchar(100)

set @Str1 = 'sql'
set @Str2 ='welcome to sql server. Sql server is a product of Microsoft sql' 

select (datalength(@Str2) - datalength(replace(@Str2, @Str1, ''))) / datalength(@Str1)
0 голосов
/ 23 июня 2011

Как насчет использования COUNT и GROUP BY ('sql')?

0 голосов
/ 23 июня 2011

CHARINDEX - это то, что вы ищете

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