2017-10-19 99 views
0

我有一个Excel公式我试图转换为SQL。式是如下将Excel公式转换为T-SQL

=1800*85%/450*E23 

说在E23的值是12,则公式将等于40.8

在SQL我已经写此:


DECLARE @Number1 INT 
DECLARE @Number2 INT 
Declare @Number3 INT 
Declare @Number4 FLOAT 


Set @Number1 = 1800 
Set @Number2 = 85 
Set @Number3 = 450 

SELECT @Number1 * @Number2/@Number3 * Column1 AS FormulaResult 
FROM DB; 

如果任何人都可以建议如何使@ Number2 = 85变成85%,这样我就可以得到和Excel一样的结果,我会大量赞赏它。

谢谢

+1

'设置@ NUMBER2 = 85/100' –

+1

和'DECLARE @ NUMBER2 FLOAT' –

+0

谢谢你的快速回复,这是有意义的。 – user20936

回答

3

这是简单的数学。注意:85%乘85后乘以0.01。

DECLARE 
    @Number1 INT, 
    @Number2 INT, 
    @Number3 INT; 
--Declare @Number4 FLOAT; -- don't know what you're doing with this 

Set @Number1 = 1800 
Set @Number2 = 85 
Set @Number3 = 450 

DECLARE @DB table (column1 int); 
INSERT @DB VALUES (10),(11),(12),(15),(20); 

SELECT column1, @Number1 * (@Number2*.01)/@Number3 * column1 AS FormulaResult 
FROM @DB; 

结果

column1  FormulaResult 
----------- --------------------------------------- 
10   34.000000 
11   37.400000 
12   40.800000 
15   51.000000 
20   68.000000