我正在尝试计算盒子数量/最小订单数量,需要一点帮助。
如果说我需要的数量是 386 但盒子数量是 500 我需要退回 500 作为订单数量
同样,如果所需数量是 540 并且盒子数量是 500 我需要退回 1000 作为订单数量
我需要这个在 SQL 中
任何帮助将不胜感激
提前谢谢了
我正在尝试计算盒子数量/最小订单数量,需要一点帮助。
如果说我需要的数量是 386 但盒子数量是 500 我需要退回 500 作为订单数量
同样,如果所需数量是 540 并且盒子数量是 500 我需要退回 1000 作为订单数量
我需要这个在 SQL 中
任何帮助将不胜感激
提前谢谢了
用于计算盒子数量的简单可重用函数。
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
好问题。
我会这样解决它,用不同的@reqQuantity 值尝试一下,看看它是如何工作的。
DECLARE @reqQuantity INT = 386
,@boxSize INT = 500
SELECT CASE WHEN @reqQuantity % @boxSize = 0 THEN @reqQuantity ELSE (@reqQuantity/@boxSize+1)*@boxSize END AS OrderQuantity