SQL Server中所有列中的字符串匹配计数

时间:2012-11-02 12:26:52

标签: sql-server-2005

  

可能重复:
  Search count of words within a string using SQL

我有一个表TABLE1如下

Col1    Col2
1   Hai Hello Hai
2   Hello Hai Hai Hai
3   R R R
4   R R R
5   Hello Hello Hello

现在,如果我正在寻找一个工作的“海”,我想得到如下结果

Col1    Col2            Cout_of_Stirng_Match
1   Hai Hello Hai       2
2   Hello Hai Hai Hai   3

请帮帮我。

2 个答案:

答案 0 :(得分:1)

select col1, len(replace(col2, @word, @word + @not_used_char)) 
- len(col2) where len(replace(col2, @word, @word + @not_used_char)) 
- len(col2) > 0 as Cout_of_String_Match

请参阅Search count of words within a string using SQL

答案 1 :(得分:1)

创建一个如下所示的函数,rest是一个简单的查询,自己动手

 CREATE FUNCTION [dbo].[ufn_CountString]
    ( @pInput VARCHAR(8000), @pSearchString VARCHAR(100) )
    RETURNS INT
    BEGIN

        RETURN (LEN(@pInput) - 
                LEN(REPLACE(@pInput, @pSearchString, ''))) /
                LEN(@pSearchString)

    END
    GO