2016-09-02 2 views
0

Мне нужно получить счет определенного слова из столбца таблицы.Получить определенное количество слов в конкретном столбце SQL Server

Пример: предположим, это значение в колонке:

uid-234,uid-342,uid-345 

мне нужно, чтобы получить количество как с помощью T-SQL в SQL Server.

+0

Wha t вы подразумеваете под _word_? 'uid-234' - это слово? –

+1

Это ужасно плохой дизайн ** - вы никогда не должны *** ставить несколько значений в один столбец! Это нарушает ** первую нормальную форму ** дизайна базы данных и приведет к бесконечной скорби по дороге. Сначала исправьте свой дизайн! –

ответ

0

Вы можете попробовать следующий код

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

Но вам нужно создать user defined function SPLIT string на вашей базе первой

1

Попробуйте это, он должен работать

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

Попробуйте это,

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

SELECT len(@Column) - len(replace(@Column, ',', '')) + 1 AS TotalCount