我正在尝试计算盒子数量/最小订单数量,需要一些帮助。
如果说我的所需数量为386,但是盒子数量为500,我需要返回500作为订单数量
同样明智的是,如果所需数量为540且盒子数量为500,我将需要返回1000作为订单数量
我需要这个在SQL
非常感谢任何帮助
非常感谢提前
答案 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