0

我不能在这里发布整个过程,因为这会令人困惑。我想做的是计算增值税。为此,我需要乘以Share0,25。

 select.....
    (SALES_PRICE * 0.8) as Revenue, 
    (SALES_PRICE * 0.8 * 1-u.discount) as Share,
    (SALES_PRICE * 0.8 * 1-u.discount) * 0.25 as VAT, 
    (SALES_PRICE * 0.8 * 1-u.discount) + (isa.SALES_PRICE * 0.8 * (1-u.discount) * (0.25)) as Total

编辑:得到了一些很大的帮助,最终得到了正确的计算和格式。 结果如下:

       CONVERT(DECIMAL(30, 2), ( sales_price * 0.8 )) 
       AS Revenue, 
       CONVERT(DECIMAL(30, 2), ( sales_price * 0.8 * 1 - u.discount )) 
       AS Share, 
       CONVERT(DECIMAL(30, 2), ( sales_price * 0.8 * 1 - u.discount ) * 0.25) 
       AS VAT, 
       CONVERT(DECIMAL(30, 2), ( sales_price * 0.8 * 1 - u.discount ) * 1.25) 
       AS Total
4

2 回答 2

1

改变

(SALES_PRICE * 0.8 * 1-u.discount * 0,25) as VAT

(SALES_PRICE * 0.8 * 1-u.discount * 0.25) as VAT

另外,您可能想使用一些括号,比如说

(SALES_PRICE * 0.8 * (1-u.discount) * 0.25) as VAT

查看运算符优先级 (Transact-SQL)

于 2014-04-08T04:17:25.417 回答
1

您需要.用作小数点分隔符0.25

(SALES_PRICE * 0.8 * (1-u.discount) * 0.25) as VAT

要仅获得 2 位小数,您可以执行CONVERT(DECIMAL(30,2), yourvalue).

要得到总数,只需乘以 1.25(SALES_PRICE * 0.8 * (1-u.discount) * 1.25)

于 2014-04-08T04:17:52.167 回答