Quantcast
Channel: Le Blog SQL Server d'ElSüket » elsuket
Viewing all articles
Browse latest Browse all 197

Attention aux types de données money et smallmoney !

$
0
0

En effet, ces deux types de données produisent des erreurs de calculs.
Voici un petit test pour révéler cela :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
DECLARE @mon1 smallmoney,
       @mon2 smallmoney,
       @mon3 smallmoney,
       @mon4 smallmoney,
       @num1 decimal(19,4),
       @num2 decimal(19,4),
       @num3 decimal(19,4),
       @num4 decimal(19,4)
 
SELECT @mon1 = 100
       , @mon2 = 339
       , @mon3 = 10000
       ---
       , @num1 = 100
       , @num2 = 339
       , @num3 = 10000
 
SELECT @mon4 = @mon1 / @mon2 * @mon3
       , @num4 = @num1 / @num2 * @num3
 
SELECT @mon4 AS money_result
       , @num4 AS numeric_result

Attention donc au choix des types de données !


Viewing all articles
Browse latest Browse all 197