0

我想计算列中特定单词的所有出现次数varchar(200)

我的数据是这样的:

ID    MyText
---   --------------------------------------
1     Hello how are you doing? Hello again.
2     This is great.
3     Hello my special person.

因此,我希望 SQL 执行类似 '%Hello%' 并返回数字 3。我现在不关心例如包含部分单词并且现在不关心通配符之类的。我只需要这个来进行一些简单的测试来验证一些事情。

4

1 回答 1

6
WITH T(ID,MyText) AS
(
SELECT 1, 'Hello how are you doing? Hello again.' UNION ALL
SELECT 2, 'This is great.' UNION ALL
SELECT 3, 'Hello my special person.'
)
SELECT *, 
       (LEN(MyText) - LEN(REPLACE(MyText, 'Hello', ''))) / LEN('Hello') AS Num
FROM T

或者

SELECT  SUM((LEN(MyText) - LEN(REPLACE(MyText, 'Hello', ''))) / LEN('Hello'))
FROM T

汇总结果

于 2012-11-15T17:14:04.017 回答