float und real (Transact-SQL)
Gilt für:SQL Server
Azure SQL-Datenbank
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-Endpunkt in Microsoft Fabric
Warehouse in Microsoft Fabric
Ungefähre Zahlendatentypen für numerische Gleitkommadaten. Gleitkommadaten sind Näherungswerte, deshalb können nicht alle Werte im Bereich des Datentyps exakt dargestellt werden. Das ISO-Synonym für real ist float(24) .
Transact-SQL-Syntaxkonventionen
Syntax
float [ (n) ]. Hierbei entspricht n der Anzahl von Bits, die zum Speichern der Mantisse der Gleitkommazahl in der wissenschaftlichen Schreibweise verwendet werden. Dadurch werden die Genauigkeit und die Speichergröße festlegt. Wenn n angegeben wird, muss es sich um einen Wert zwischen 1 und 53 handeln. Der Standardwert von n lautet 53.
Wert n | Precision | Speichergröße |
---|---|---|
1-24 | 7 Stellen | 4 Byte |
25-53 | 15 Stellen | 8 Byte |
Hinweis
SQL Server verarbeitet n als einen von zwei möglichen Werten. Wenn 1<=n<=24 gegeben ist, wird n als 24 behandelt. Wenn 25<=n<=53 gegeben ist, wird n als 53 behandelt.
Der SQL Server-Datentyp float[ (n) ] entspricht dem ISO-Standard für alle Werte von n zwischen 1 und 53. Das Synonym für double precision lautet float(53) .
Hinweis
Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 oder früher finden Sie unter Dokumentation zu früheren Versionen.
Bemerkungen
Datentyp | Range | Storage |
---|---|---|
float | - 1,79E+308 bis -2,23E-308, 0 und 2,23E-308 bis 1,79E+308 | Hängt vom Wert für n ab. |
real | - 3,40E + 38 bis -1,18E - 38, 0 und 1,18E - 38 bis 3,40E + 38 | 4 Byte |
Konvertieren von float- und real-Daten
Werte des Typs float werden bei der Konvertierung in einen Integertyp abgeschnitten.
Für das Konvertieren von float- oder real-Daten in Zeichendaten eignet sich die STR-Zeichenfolgenfunktion normalerweise besser als CAST( ). Der Grund hierfür ist, dass STR Ihnen bessere Steuerungsmöglichkeiten über die Formatierung bietet. Weitere Informationen finden Sie unter STR (Transact-SQL) und unter Funktionen (Transact-SQL).
Vor SQL Server 2016 (13.x) ist die Konvertierung von float-Werten in decimal- oder numeric-Werte auf Werte mit einer Genauigkeit von 17 Stellen beschränkt. Jeder float-Wert kleiner als 5E-18 (der entweder in der wissenschaftlichen Schreibweise als 5E-18 oder in der Dezimalschreibweise als 0,000000000000000005 festgelegt ist) wird auf 0 abgerundet. Dies stellt ab SQL Server 2016 (13.x) keine Einschränkung mehr dar.
Weitere Informationen
ALTER TABLE (Transact-SQL)
CAST und CONVERT (Transact-SQL)
CREATE TABLE (Transact-SQL)
Datentypkonvertierung (Datenbank-Engine)
Datentypen (Transact-SQL)
DECLARE @local_variable (Transact-SQL)
SET @local_variable (Transact-SQL)