计算箱数量T-SQL

时间:2013-04-24 11:56:55

标签: sql-server tsql

我正在尝试计算盒子数量/最小订单数量,需要一些帮助。

如果说我的所需数量为386,但是盒子数量为500,我需要返回500作为订单数量

同样明智的是,如果所需数量为540且盒子数量为500,我将需要返回1000作为订单数量

我需要这个在SQL

非常感谢任何帮助

非常感谢提前

2 个答案:

答案 0 :(得分:3)

用于计算箱数量的简单可重复使用功能。

CREATE FUNCTION udf_CalculateBoxQuantity
(
    @RequiredAmount INT,
    @BoxQuantity INT
)
RETURNS INT
AS
BEGIN
    DECLARE @Ret INT

    SET @Ret = @BoxQuantity * CEILING((CAST(@RequiredAmount AS DECIMAL(20,10)) / CAST(@BoxQuantity AS DECIMAL(20,10))))

    RETURN @Ret  
END

答案 1 :(得分:0)

好问题。

我会像这样解决它,尝试使用不同的@reqQuantity值来看它是如何工作的。

DECLARE @reqQuantity INT = 386
,@boxSize INT = 500
SELECT CASE WHEN @reqQuantity % @boxSize = 0 THEN @reqQuantity ELSE (@reqQuantity/@boxSize+1)*@boxSize END AS OrderQuantity