如果一个单词在一个文本字段的字符串或句子中出现了多少次,我正在尝试对它进行计数。例如: 将@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
答案 0 :(得分:1)
DECLARE @text AS NVARCHAR(max)
SET @text ='弹跳,您将弹跳什么,改变弹跳弹跳的弹跳力'
SELECT(len(@text)-len(replace(@text,'bounce',``))))/ len('bounce')
你可以试试吗