0

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

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

同样,如果所需数量是 540 并且盒子数量是 500 我需要退回 1000 作为订单数量

我需要这个在 SQL 中

任何帮助将不胜感激

提前谢谢了

4

2 回答 2

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
于 2013-04-24T12:23:24.503 回答
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
于 2013-04-24T12:22:34.710 回答