当前位置: 代码迷 >> Sql Server >> sql截取字符串中首先段数字和第二段数字
  详细解决方案

sql截取字符串中首先段数字和第二段数字

热度:48   发布时间:2016-04-24 10:41:43.0
sql截取字符串中第一段数字和第二段数字
分别截取字符串中出现的第一段数字和第二段数字
------解决方案--------------------

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的长度...
  相关解决方案