2012-11-15 36 views
0

我想统计varchar(200)列中某个特定单词的所有出现次数。统计列中所有文字的出现次数

我的数据是这样的:

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

所以我想SQL做一个像“你好%%”,并与数3.我现在不关心回来是例如局部单词被包括在内,并且现在并不在乎通配符。我只需要进行一些简单的测试来验证一些事情。

+0

我也不在乎的话情况下,或者。 – cdub

回答

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 

以总成绩

+0

短而合乎逻辑:) – Mik378

+0

哈哈,我爱你,这太酷了 – fnurglewitz

+0

这太棒了 –

相关问题