古道西风的回答:declare @str varchar(100) declare @i int,@str1 varchar(10),@str2 varchar(10) set @str='0+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,'') 这些是 关于 拆分公式的 过程,具体,可以不用 完全理解,你只要明白就行了 古道西风的回答:declare @str varchar(100) declare @i int,@str1 varchar(10),@str2 varchar(10) set @str='0+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,'') 这些是 关于 拆分公式的 过程,具体,可以不用 完全理解,你只要明白就行了 古道西风的回答:declare @str varchar(100) declare @i int,@str1 varchar(10),@str2 varchar(10) set @str='0+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,'') 这些是 关于 拆分公式的 过程,具体,可以不用 完全理解,你只要明白就行了 |