通配符分解

来源:互联网 发布:淘宝直通车条件 编辑:程序博客网 时间:2024/04/28 23:17
declare @str varchar(100)
declare @i int,@str1 varchar(10),@str2 varchar(10)

set @str='3+7+12-13+8-9*123'    --要分解的字符串
declare @tb table(num varchar(20),operation varchar(2))    --定义保存结果的表

--公式分拆
set @i=patindex('%[^0-9]%',@str)
while @i>0
begin
    
select @str1=left(@str,@i-1)
        ,
@str=substring(@str,@i,8000)
        ,
@i=patindex('%[0-9]%',@str)
        ,
@str2=left(@str,@i-1)
        ,
@str=substring(@str,@i,8000)
        ,
@i=patindex('%[^0-9]%',@str)
    
insert into @tb values(@str1,@str2)
end
if @str<>'' insert into @tb values(@str,'')

--显示分拆结果
select * from @tb
 
原创粉丝点击