float et real (Transact-SQL)
Types de données approximatives à utiliser avec des données numériques à virgule flottante. Les données à virgule flottante sont approximatives ; il n'est donc pas possible de représenter précisément toutes les valeurs de ce type de données.
[!REMARQUE]
Le synonyme ISO de float(24) est real.
Type de données |
Plage |
Stockage |
---|---|---|
float |
- 1,79E+308 à -2,23E-308, 0 et 2,23E-308 à 1,79E+308 |
Dépend de la valeur de n |
real |
- 3,40E + 38 à -1,18E - 38, 0 et 1,18E - 38 à 3,40E + 38 |
4 octets |
Conventions de la syntaxe Transact-SQL
Syntaxe
float [ (n) ]
Où n est le nombre de bits utilisé pour stocker la mantisse du nombre de type float en notation scientifique et indique par conséquent le niveau de précision et la taille de stockage. Si n est spécifié, sa valeur doit être comprise entre 1 et 53. La valeur par défaut de n est 53.Valeur de n
Précision
Taille de stockage
1-24
7 chiffres
4 octets
25-53
15 chiffres
8 octets
[!REMARQUE]
SQL Server considère n comme l'une des deux valeurs possibles. Si 1<=n<=24, la valeur de n est considérée comme étant 24. Si 25<=n<=53, la valeur de n est considérée comme étant 53.
Le type de données SQL Server float[(n)] est conforme à la norme ISO pour toutes les valeurs de n comprise entre 1 et 53. Le synonyme de double precision est float(53).
Conversion de données float et real
Les valeurs de float sont tronquées lorsqu'elles sont converties en un type de données entier.
Si vous souhaitez effectuer une conversion de float ou real en données caractères, la fonction de chaîne STR constitue généralement un meilleur choix que CAST( ), car STR permet un plus grand contrôle sur le format. Pour plus d'informations, consultez STR (Transact-SQL) et Fonctions intégrées (Transact-SQL).
La conversion des valeurs float qui utilisent la notation scientifique en decimal ou en numeric est limitée à des valeurs d'une précision de 17 chiffres uniquement. Toute valeur avec une précision plus élevée que 17 sera arrondie à zéro.
Voir aussi
Référence
CAST et CONVERT (Transact-SQL)
Types de données (Transact-SQL)
DECLARE @local\_variable (Transact-SQL)
SET @local\_variable (Transact-SQL)