Bonjour,
je n'arrive pas à résoudre ce problème, malgré toutes les lectures que j'ai pu trouver et les différents essais.
voici le bout du code qui fait planter :
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 DECLARE @alpha_CHD FLOAT DECLARE @alpha_NON_CHD FLOAT DECLARE @p_CHD FLOAT DECLARE @p_NON_CHD FLOAT IF @SEXE = 1 BEGIN SET @alpha_CHD = -22.1 SET @p_CHD = 4.71 SET @alpha_NON_CHD = -26.7 SET @p_NON_CHD = 5.64 END ELSE BEGIN SET @alpha_CHD = -29.8 SET @p_CHD =6.36 SET @alpha_NON_CHD = -31 SET @p_NON_CHD = 6.62 END DECLARE @S0_AGE FLOAT SET @S0_AGE = EXP((-exp(@alpha_CHD))*POWER((@AGE - 20),@p_CHD)) DECLARE @S0_AGE_P_DIX FLOAT SET @S0_AGE_P_DIX = EXP((-exp(@alpha_CHD))*POWER((@AGE - 10),@p_CHD)) DECLARE @S0_AGE_NON_CHD FLOAT SET @S0_AGE_NON_CHD = EXP((-EXP(@alpha_NON_CHD))*POWER((@AGE - 20),@p_NON_CHD)) DECLARE @S0_AGE_P_DIX_NON_CHD FLOAT SET @S0_AGE_P_DIX_NON_CHD = EXP((-EXP(@alpha_NON_CHD))*POWER((@AGE - 10) ,@p_NON_CHD))
Pour les valeurs calculs correspondant à @SEXE = 1 c'est bon mais sinon j'ai les messages d'erreurs suivant :
Msg*232, Niveau*16, État*3, Ligne*46
Erreur de dépassement arithmétique pour le type int, valeur = 18084450981.894852.
Msg*232, Niveau*16, État*3, Ligne*49
Erreur de dépassement arithmétique pour le type int, valeur = 72468007396.558228.
Msg*232, Niveau*16, État*3, Ligne*52
Erreur de dépassement arithmétique pour le type int, valeur = 47492948369.264870.
Msg*232, Niveau*16, État*3, Ligne*55
Erreur de dépassement arithmétique pour le type int, valeur = 201425553521.769930.
Partager