您的位置:首页 > 其它

字符串拆分之公式分解

2009-04-22 15:43 218 查看
/*

-- 邹建
分解公式
将公式按运算分解到表中
*/
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



/*

num operation
-------------------- ---------
3 +
7 +
12 -
13 +
8 -
9 *
123

(7 行受影响)

*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: