字符串拆分之公式分解
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 行受影响)
*/
-- 邹建
分解公式
将公式按运算分解到表中
*/
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 行受影响)
*/
相关文章推荐
- 在 Excel 中使用公式拆分字符串日期
- java字符串分解 StringTokenizer用法
- 分解字符串,同PHP的 explode
- Java split拆分使用竖线为分隔符的字符串方法
- 根据空格分解英文字符串
- oracle 用 正则表达式拆分字符串(逗号)
- 字符串拆分為列表(函數)
- sql server 拆分字符串&查找第n个分割符的位置
- 循环拆分带有字符的字符串
- Python的字符串连接join和拆分split
- c 语言字符串拆分
- 拆分字符串Split用法
- 第一百零八节,JavaScript,内置对象,Global对象字符串编码解码,Math对象数学公式
- [后缀数组 枚举 字符串分段] BZOJ 4650 [Noi2016]优秀的拆分
- 字符串的拆分
- 将字符串分解为数值类型
- SQL拆分多规则的字符串分离数字。
- Asp.net 字符串操作基类(安全,替换,分解等)
- ABAP中拆分字符串到内表,然后再遍历的实现方法
- EL表达式处理字符串 是否 包含 某字符串 截取 拆分...............