作业帮 > 综合 > 作业

帮忙在SQLserver数据库中创建一个自定义函数funShipFee,用于计算邮寄印刷品的费用

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/04/29 02:24:27
帮忙在SQLserver数据库中创建一个自定义函数funShipFee,用于计算邮寄印刷品的费用
邮局规定印刷品的邮资如下
计费单位 邮费
首重100g(不足100克按100克计算),0.30元
续重101-5000克每重100克(不足100克按100克计算),0.15元
5000克以上,每重100克(不足100克按100克计算),0.12元
我的问题主要出在,怎么去实现不足100克按100克计算的要求呢,我基础差,
帮忙在SQLserver数据库中创建一个自定义函数funShipFee,用于计算邮寄印刷品的费用
不知道你的表的具体情况,我举例说明哈:
--创建测试表
create table tb12
(id int identity(1,1) not null,
zl int null,
yf decimal(8,2) null
)
go
--添加测试数据
insert into tb12
select 80,null
union all
select 105,null
union all
select 5000,null
union all
select 6000,null
go
select * from tb12
----------------------------------
id zl yf
----------- ----------- ----------
1 80 NULL
2 105 NULL
3 5000 NULL
4 6000 NULL
(所影响的行数为 4 行)
--drop FUNCTION funShipFee
--创建计算邮费的内嵌表值函数funShipFee
CREATE FUNCTION funShipFee()
RETURNS TABLE
AS
RETURN (SELECT id,zl,yf=
case when zl
再问: 你邮费算错了吧,105克就有15元了??
再答: 你不是说101到5000是按0.15算吗?105*0.15就是15.75元。??不好意思,算法没看清楚。 下面的可以了: CREATE FUNCTION funShipFee() RETURNS TABLE AS RETURN (SELECT id,zl,yf= case when zl