2017-10-19 28 views
0

J'ai une formule Excel que j'essaie de convertir en SQL. La formule est la suivanteConvertir une formule Excel en T-SQL

=1800*85%/450*E23 

Dites la valeur E23 était de 12 alors la formule serait égale à 40,8

Dans SQL je l'ai écrit ceci:


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; 

Si n'importe qui pourrait conseiller de faire @ Number2 = 85 en 85% à la place, ainsi je pourrais obtenir le même résultat que je fais d'Excel que j'apprécierais massivement.

Merci

+1

'Set @ Number2 = 85/100' –

+1

Et' @ DECLARE Number2 FLOAT' –

+0

Merci pour la réponse rapide, ce sens de faire. – user20936

Répondre

3

Ceci est une opération mathématique simple. Note: pour faire 85 dans 85% multipliez-le par 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; 

Résultats

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