Microsoft SQL Server,按百分比增加价格,向上舍入

时间:2017-11-15 08:42:22

标签: sql sql-server percentage

让我们说我有一个名为products_tbl的表,以及一个名为price的价格列。我需要一个脚本来更新价格3%向上舍入,所以如果单元格的结果是41.3,它必须变为42。 有可能吗?

3 个答案:

答案 0 :(得分:1)

这就是我的理解,我很惊讶这个问题在很多方面得到了解释:

BEGIN TRAN

UPDATE products_tbl
SET price = CEILING(price * 1.03)

SELECT *
FROM products_tbl

ROLLBACK TRAN -- Because we only answer w/ commits for a fee.

答案 1 :(得分:0)

如果按预期实现,则首先使用select query进行测试, 改为使用ceiling,我假设你的数据类型是int

SELECT 
   ceiling(price+ ( price/100*3),0) RoundedpercentValue 
  ,price+ ( price/100*3)      PercentValue
 , price 
FROM PRODUCTS 

- 更新表格

UPDATE products
set price = ceiling(price+ ( price/100*3),0)

或者是否存在截断问题

Update Products
set price = ceiling(price + price *0.03)

答案 2 :(得分:-1)

使用此

if (<text> =~ m{
    ([TR]{6}
    JFUA
    [ABR]{1}
    GAFG
    ( [LOP]{2,3} )
    [KW]{2,5}
    (??{ $2 =~ tr/LOP/ABC/r })
    AAAABB[UXZ]{1})
}x) {print "$1\n";}