执行sql中的 函数,function

CREATE FUNCTION [dbo].[GetWeight]
(
@Value decimal(18,3)--重量/体积重
)
returns decimal(18,1) 
as
begin 
--顺丰重量/体积重以0.5kg为单位向上取值(小数点后两位4舍5入)
declare @Weight decimal(18,3)
select @Weight=
             case when @Value<=1    then 1 
                  when @Value>1 and @Value%1>=0 and @Value%1<0.05 then @Value
                  when @Value>1 and @Value%1>=0.05 and @Value%1<0.55 then FLOOR(@Value)+0.5
                  when @Value>1 and @Value%1>=0.55 then FLOOR(@Value)+1
            end
return @Weight
end
GO

--floor(value)函数返回小于或等于指定值(value)的最小整数
select FLOOR('10.2')--10   向下取整
select FLOOR('10.6')--10
--ceiling(value)函数返回大于或等于指定值(value)的最小整数
select ceiling('10.2')--11  向上取整
select ceiling('10.6')--11
--round()函数遵循四舍五入原则,用于把数值字段舍入为指定的小数位数
 

DECLARE @Result decimal(18,3)
EXEC @Result= GetWeight '1.09958'
PRINT '函数的结果是:'+CONVERT(varchar(20),@Result)

 

转载于:https://www.cnblogs.com/ZkbFighting/p/11368963.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值