T-SQL中的字符串循环

我该如何在字符串中循环如果要获取连续加法数等于1

例如“ 321”(2-1等于1,3-2等于1):结果2

例如“ 320244434321”(2-1计数为1,3-2计数为1,4-3计数为1)结果为3

例如'00321881'(2-1计为1,3-2计为1):结果2

评论
  • 纠结
    纠结 回复

    如果我理解正确,则希望相邻数字的数量减少“ 1”。而且您不会对值进行两次计数。因此,您可以使用蛮力:

    select ( (case when str like '%10%' then 1 else 0 end) +
             (case when str like '%21%' then 1 else 0 end) +
             (case when str like '%32%' then 1 else 0 end) +
             (case when str like '%43%' then 1 else 0 end) +
             (case when str like '%54%' then 1 else 0 end) +
             (case when str like '%65%' then 1 else 0 end) +
             (case when str like '%76%' then 1 else 0 end) +
             (case when str like '%87%' then 1 else 0 end) +
             (case when str like '%98%' then 1 else 0 end)
            )
    from t;