Sql 文本字符串中的最大连续出现次数
我正在尝试编写一个查询,以标识文本字符串SQL Server中连续出现的次数Sql 文本字符串中的最大连续出现次数,sql,sql-server,Sql,Sql Server,我正在尝试编写一个查询,以标识文本字符串SQL Server中连续出现的次数 Sample Date | Query Output --------------------------- 11001 | 2 10000 | 1 11111 | 5 10111 | 3 00000 | 0 10010 | 1 10001 | 1 00100
Sample Date | Query Output
---------------------------
11001 | 2
10000 | 1
11111 | 5
10111 | 3
00000 | 0
10010 | 1
10001 | 1
00100 | 1
11001 | 2
10100 | 1
01110 | 3
00011 | 2
00000 | 0
10010 | 1
01111 | 4
00110 | 2
10011 | 2
10010 | 1
01101 | 2
01010 | 1
10101 | 1
我认为最简单的方法是
case
和like
:
select (case when col like '%11111%' then 5
when col like '%1111%' then 4
when col like '%111%' then 3
when col like '%11%' then 2
when col like '%1%' then 1
else 0
end)
毫无疑问,还有更聪明的方法。但是如果有更简单的方法,我会感到惊讶。为什么
00000
有0
?应该是5吗?毫无疑问,还有更聪明的方法-哦,不!这是一个非常聪明的方法!