如何在Sql存储过程中拆分数字和数字 [英] How to split number and digit in Sql Stored Procedure

查看:214
本文介绍了如何在Sql存储过程中拆分数字和数字的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述




请告诉我存储过程中的以下计算

我的方案是打包杂志



例如:



订单= 6042份。 6042必须每包20个。所以302捆绑。平衡2份。

如果我除6042/20结果是302.10。如何将302和2存储在不同的列中

表示302是一列,2是另一列。



包装数量也不同。比如20或30或50或10的时间

另外副本也不同,最多9999份



目前我的SP是



 更新 [dbo]。[SOMaster_TEMP]  SET  [BSTD] = [数量] / [STDB] 
更新 [dbo]。[SOMaster_TEMP] SET [BEND] = [数量] / [STDB]





数量是副本= 6042

STDB =每包20个

BSTD即将到来302.10

BEND也是302.10



请给我建议



谢谢



Maideen

解决方案

使用模数:

 更新 [dbo]。[SOMaster_TEMP]  SET  [BEND] = [数量]%[STDB] 







你的代码解决了这一行

UPDATE [dbo]。[SOMaster_ TEMP] SET [BEND] = [数量]%[STDB]

我得到的结果是2.很好。

然后我怎么得到302.(更新[dbo] ]。[SOMaster_TEMP] SET [BSTD] = [数量] / [STDB])




啊 - 简单:

 更新 [dbo]。[SOMaster_TEMP]  SET  [BSTD] = CAST([Qty] / [STDB]  AS   INT 


Hi
Pls advice me the following calculation in stored Procedure
my scenario is packing the magazine

Example:

Order = 6042 copies. 6042 have to be packed by 20 each. so 302 bundle. balance 2 copies.
If I divide 6042 /20 Result is 302.10 . How can store 302 and 2 in different column
that mean 302 is one column and 2 is another.

It is also differ the packing qty. Like some time 20 or 30 or 50 or 10
Also copies are also differ upto 9999 copies

Currently My SP is

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



Qty is copies = 6042
STDB = 20 per bundle
BSTD is coming 302.10
BEND is also 302.10

Pls advice me

Thank you

Maideen

解决方案

Use Modulo:

UPDATE [dbo].[SOMaster_TEMP] SET [BEND] = [Qty] % [STDB]




"Your code solved this line
UPDATE [dbo].[SOMaster_TEMP] SET [BEND] =[Qty] % [STDB]
I got result is 2. It is fine.
Then How i get 302. ( UPDATE [dbo].[SOMaster_TEMP] SET [BSTD] = [Qty] /[STDB])"


Ah - easy:

UPDATE [dbo].[SOMaster_TEMP] SET [BSTD] = CAST([Qty] / [STDB] AS INT)


这篇关于如何在Sql存储过程中拆分数字和数字的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆