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 に答える