2016-09-02 11 views
0

テーブルの列から特定の単語の数を取得する必要があります。特定の単語の数をSQL Serverで取得する

例:この値が列であると仮定します。

uid-234,uid-342,uid-345 

を私はSQL ServerのT-SQLを使用してとしてカウント数を取得する必要があります。

+0

Whaあなたは_word_を意味しますか? 'uid-234'は単語ですか? –

+1

これは**ひどく悪いデザインです** - ***あなたは決して***単一の列に複数の値を置くべきではありません!これは**データベースデザインの**最初の通常のフォーム**に違反し、あなたは無限の悲しみを引き起こします。最初にデザインを修正してください! –

答えて

0

、これを試してみてくださいを動作するはずです

1

はこれを試してみてください、それは

SELECT SUM(len(YourColumn) - len(replace(YourColumn, ',', '')) +1) 
    AS TotalCount 
FROM YourTable 
1

あなたは以下のコード

select 
    *, (select count(*) from dbo.Split(concatenatedColumn,',')) cnt 
from myTable 

を試すことができます。しかし、あなたが最初にデータベースにuser defined function SPLIT stringを作成する必要が

DECLARE @Column VARCHAR(100) = 'uid-234,uid-342,uid-345' 

SELECT len(@Column) - len(replace(@Column, ',', '')) + 1 AS TotalCount 
関連する問題