Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 文本字符串中的最大连续出现次数_Sql_Sql Server - Fatal编程技术网

Sql 文本字符串中的最大连续出现次数

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

我正在尝试编写一个查询,以标识文本字符串SQL Server中连续出现的次数

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吗?毫无疑问,还有更聪明的方法-哦,不!这是一个非常聪明的方法!