2011-07-10 17 views
2

varchar内のvarcharの出現を数える最善の方法は何ですか。TSQLを使用してvarcharをvarcharで数える方法

特定の組み合わせを見つけるために、テキストをループしないでください。

この選択のみ見つける最初

SELECT CASE WHEN CHARINDEX('!','HOW MANY TIMES IS ! IN THIS TEXT ? THIS IS MY QUESTION !') > 0 THEN 1 ELSE 0 END 

戻り

1は私が試合

TABLE DATA 
SEARCHTEXT  LONGTEXT 
!    HOW MANY TIMES IS ! IN THIS TEXT ? THIS IS MY QUESTION ! 
HELLO   HELLO HELLO HELLO HELLO HELLO HELLO 
L    HELLO HELLO HELLO HELLO HELLO HELLO 
e    more testdata 

期待される結果

Count SEARCHTEXT LONGTEST 
2  !   MANY TIMES IS ! IN THIS TEXT ? THIS IS MY QUESTION ! 
6  HELLO  HELLO HELLO HELLO HELLO HELLO HELLO 
12 L   HELLO HELLO HELLO HELLO HELLO HELLO 
2  e   more testdata 

の合計数を見つけるために、メソッドが必要MSSQLサーバを使用して2005

答えて

6

あなたは各出現1文字長くすると、追加の文字数カウントするreplaceを使用することができます。これはかっこいい答えです

select len(replace(txt, search, search + '#')) - len(txt) as Count 
,  * 
from YourTable 

Full example at SE Data.

+0

+1を –

関連する問題