محاسبه تعداد تکرار یک کلمه در یک رشته
نویسنده: محمد سلیم آبادی
تاریخ: ۱۳۹۱/۱۰/۲۹ ۱۶:۴۰
آدرس: www.dntips.ir
DECLARE @S VARCHAR(50) = 'ali ali ali ali hasan reza ali javad reza reza'
SELECT D.value, E.cnt
FROM (VALUES ('ali'),
('hasan'),
('reza'),
('javad')) AS D(value)
CROSS APPLY
(SELECT ' ' + REPLACE(@s, ' ', ' ') + ' ') AS C(String)
CROSS APPLY
(SELECT (LEN(String) - LEN(REPLACE(String, ' ' + D.value + ' ', ''))) / (LEN(D.value) + 2)) AS E(cnt)
ORDER BY cnt DESC;