SQL 字符串转成数字相加

---数字字符串累加 create  function [dbo].[ZGetQty](@UDF02 varchar(40)) returns decimal as BEGIN      --'121+2+3+23+5+7+878' 字符串 累计相加  declare @A varchar(255)  declare @num decimal,@count int--出现'+'次数  set @num=0  set @A=@UDF02                                                             --select top 1 @A=UDF02 from COPTH WHERE UDF02=@UDF02 select @count=LEN(@A)-LEN(replace(@A,'+','')) --统计字符'+'出现次数 if ( @count<=0 AND LEN(@count)>0)     begin          SET @num= @A  end            iF(@count >0) --CHARINDEX('+',@A)                  begin                    declare @int int                       set @int=0  -- 控制循环次数==相加次数                       while @int<@count                                                 begin                                                      set    @num=@num+SUBSTRING(@A,1,CHARINDEX('+',@A,0)-1)                           set @A=SUBSTRING(@A,CHARINDEX('+',@A,1)+1,LEN(@A)-CHARINDEX('+',@A,1)+1)                           set @int= @int+1                                                        end                           if(@int>0 and @int=@count)                                                           set @num=@num+@A                                           end                       IF( @A='')                          begin  set @num=0  end   return @num end