分解公式.sql

来自「SQL Server 2000/2005非常有用的经典脚本」· SQL 代码 · 共 26 行

SQL
26
字号
/*
	分解公式
	将公式按运算分解到表中
*/
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

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?