`
xiaoer_1982
  • 浏览: 1815664 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

字符串拆分之公式分解

 
阅读更多

/*

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

*/

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics