45fan.com - 路饭网

搜索: 您的位置主页 > 网络频道 > 阅读资讯:SQLSERVER的公式计算方法介绍

SQLSERVER的公式计算方法介绍

2016-09-04 19:22:58 来源:www.45fan.com 【

SQLSERVER的公式计算方法介绍

今天在CSDN上读到一篇文章有关公式计算的,看了这里我有点怀疑自己写SQL的能力了,写了这么多年,以前碰到公式计算的问题都是按照DS的公式分析方法来做的,之前写的一个存储过程调用来调用,现在才知道原来这样要简单很多,快很多,哎,真是吃了没文化的大亏了。

以下转载自CSDN

--成本表
create table 成本表(id int,r_code int
,始重 decimal(20,2),末重 decimal(20,2)
,成本 decimal(20,2),续重成本 decimal(20,2)
,公式 varchar(100))
insert into 成本表
select 1,2,0.5,20,10,5,'(重量*2-1)*续重成本+成本'
union all select 2,2,20,40,8,null,'重量*成本'
go

--计算的存储过程
create proc p_calc
@r_code int,
@重量 int,
@结果 decimal(20,2) output
as
declare @s nvarchar(4000), @a nvarchar(4000)
select @s='select @re='+公式+' from (select 成本='
+cast(isnull(成本,0) as varchar)+',续重成本='
+cast(isnull(续重成本,0) as varchar)+',重量='
+cast(isnull(@重量,0) as varchar)+') a'
from 成本表
where r_code=@r_code and @重量 between 始重 and 末重
--set @a = @s+N'@re decimal(20,2) out'
exec sp_executesql @s,N'@re decimal(20,2) out',@结果 out
select @s
go

--调用示例
declare @结果 decimal(20,2)
exec p_calc 2,15,@结果 out
select 结果=@结果
go

--删除测试环境
drop table 成本表
drop proc p_calc

 

本文地址:http://www.45fan.com/a/question/72368.html
Tags: SQLServer 公式 计算
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部