float et real (Transact-SQL)
S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Point de terminaison analytique SQL dans Microsoft FabricEntrepôt dans Microsoft Fabric
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. Le synonyme ISO de real est float(24) .
Conventions de la syntaxe Transact-SQL
Syntaxe
float [ (n) ] Où n est le nombre de bits utilisés 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 n | Precision | Taille de stockage |
---|---|---|
1-24 | 7 chiffres | 4 octets |
25-53 | 15 chiffres | 8 octets |
Notes
SQL Server considère n comme l’une des deux valeurs possibles. Si 1<=n<=24, n est considéré comme égal à 24. Si 25<=n<=53, n est considéré comme égal à 53.
Le type de données SQL Serverfloat [ (n) ] est conforme à la norme ISO pour toutes les valeurs de n comprises entre 1 et 53. Le synonyme de double precision est float(53) .
Remarque
Pour afficher la syntaxe Transact-SQL pour SQL Server 2014 (12.x) et versions antérieures, consultez Versions antérieures de la documentation.
Notes
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 | Quatre octets |
Conversion de données float et real
Les valeurs de float sont tronquées quand elles sont converties en un type 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 (Transact-SQL).
Dans les versions antérieures à SQL Server 2016 (13.x), la conversion des valeurs float en valeurs decimal ou numeric est limitée à des valeurs d’une précision de 17 chiffres uniquement. Toutes les valeurs flottantes inférieures à 5E-18 (quand elles sont définies avec la notation scientifique 5E-18 ou la notation décimale 0,000000000000000005) sont arrondies à 0. Cette limitation n’existe plus dans SQL Server 2016 (13.x).
Voir aussi
ALTER TABLE (Transact-SQL)
CAST et CONVERT (Transact-SQL)
CREATE TABLE (Transact-SQL)
Conversion de types de données (Moteur de base de données)
Types de données (Transact-SQL)
DECLARE @local_variable (Transact-SQL)
SET @local_variable (Transact-SQL)
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour