分别截取字符串中出现的第一段数字和第二段数字
------解决方案--------------------
with tb(a)as(
select 'asa123zx2321' union
select '765zzz987z0)'
),tc as(
select a,number,number-ROW_NUMBER() over(order by a,number) num
from tb,master..spt_values
where type='p' and ASCII(SUBSTRING(a,number,1)) between 48 and 57
),td as(
select a b,substring(a,MIN(number),MAX(number)-MIN(number)+1)a,
ROW_NUMBER() over(partition by a order by min(number))num from tc
group by a,num)
select b,a from td where num<=2
有点局限性,字符串不能超过2047的长度...