如何在Sql存储过程中拆分数字和数字 [英] How to split number and digit in Sql Stored Procedure
问题描述
嗨
请告诉我存储过程中的以下计算
我的方案是打包杂志
例如:
订单= 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屋!