如何计算SQL Server 2005中TEXT数据类型中字符串的出现次数

Anu*_*rag 2 sql text sql-server-2005

我的表中有一列数据类型TEXT.现在,我需要找到该TEXT字段中字符串的出现次数.我已经在该表上创建了全文索引.但我不知道如何继续前进.我已经找到了计算VARCHAR字符串出现次数的方法.但它们不能按原样应用于TEXT字段.有什么建议?

Den*_*eev 7

试试这个:

 declare @searchString varchar(max);
 set @searchString = 'something';
 declare @textTable table (txt text);
 insert into @textTable ( txt )
 values  ( 'something that has something 2 times' )

 select 
 (
  datalength(txt) - 
  datalength(replace(cast(txt as varchar(max)), @searchString, ''))
 )
 /datalength(@searchString) [Count]

   from @textTable as tt
Run Code Online (Sandbox Code Playgroud)

请注意,转换为varchar(max)不会截断您的text列,因为varchar(max)的最大长度为2 ^ 31-1个字节或2Gb.