cdu*_*dub 0 sql sql-server sql-server-2005
我想计算varchar(200)列中特定单词的所有出现次数.
我的数据是这样的:
ID MyText
--- --------------------------------------
1 Hello how are you doing? Hello again.
2 This is great.
3 Hello my special person.
Run Code Online (Sandbox Code Playgroud)
所以我希望SQL做'%Hello%'并返回数字3.我现在不关心的是例如包含部分单词并且现在不关心使用通配符.我只需要一些简单的测试来验证一些东西.
WITH T(ID,MyText) AS
(
SELECT 1, 'Hello how are you doing? Hello again.' UNION ALL
SELECT 2, 'This is great.' UNION ALL
SELECT 3, 'Hello my special person.'
)
SELECT *,
(LEN(MyText) - LEN(REPLACE(MyText, 'Hello', ''))) / LEN('Hello') AS Num
FROM T
Run Code Online (Sandbox Code Playgroud)
要么
SELECT SUM((LEN(MyText) - LEN(REPLACE(MyText, 'Hello', ''))) / LEN('Hello'))
FROM T
Run Code Online (Sandbox Code Playgroud)
对于汇总结果
| 归档时间: |
|
| 查看次数: |
258 次 |
| 最近记录: |