如何在SQL Server存储过程中拆分数字和数字

时间:2015-07-02 08:10:54

标签: sql-server stored-procedures

请在存储过程中帮助我进行以下计算。

我的情景是打包杂志

示例:

订单= 6042份。 6042必须每包20个,所以我得到302个捆绑,余额为2个。

如果我除6042/20,结果为302.10。如何将302和2存储在不同的列中,这意味着302是一列,2是另一列。

包装数量也不同。像20或30或50或10的时间 副本也不同,最多9999份

目前我的存储过程是:

UPDATE [dbo].[SOMaster_TEMP] 
SET [BSTD] = [Qty] / [STDB]

UPDATE [dbo].[SOMaster_TEMP] 
SET [BEND] = [Qty] / [STDB]
  • Qty是副本= 6042。
  • STDB =每捆20个。

  • BSTD计算为302.10。

  • BEND也是302.10。

1 个答案:

答案 0 :(得分:0)

如果这些是INT数据类型,那么您可以轻松使用整数除法和模运算符:

DECLARE @Qty INT = 6042
DECLARE @PerBundle INT = 20

SELECT 
    NumberOfBundles = @Qty / @PerBundle,
    BalanceCopies = @Qty % @PerBundle

这导致:

enter image description here