Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
Azure SQL Database
Spravovaná instance Azure SQL
Azure Synapse Analytics
Analytics Platform System (PDW)
Koncový bod analýzy SQL v Microsoft Fabric
Sklad v Microsoft Fabric
Databáze SQL v Microsoft Fabric
Datové typy přibližných čísel pro použití s číselnými daty s plovoucí desetinou čárkou Data s plovoucí desetinou čárkou jsou přibližná; proto nelze přesně reprezentovat všechny hodnoty v oblasti datových typů. Synonymum ISO pro reálné je float(24).
Syntax
float [ (n) ] Kde n je počet bitů, které se používají k uložení manissa čísla float ve vědeckém zápisu, a proto určuje přesnost a velikost úložiště. Pokud je zadán n , musí to být hodnota mezi 1 a 53. Výchozí hodnota n je 53.
| n hodnota | Precision | Velikost úložiště |
|---|---|---|
| 1-24 | 7 číslic | 4 bajty |
| 25-53 | 15 číslic | 8 bajtů |
Note
SQL Server považuje n za jednu ze dvou možných hodnot. Pokud 1<=n<=24, považuje se n za 24. Pokud 25<=n<=53, považuje se n za 53.
Datový typ SQL Server float[(n)] splňuje normu ISO pro všechny hodnoty n od 1 do 53. Synonymum pro dvojitou přesnost je float(53).
Remarks
| Datový typ | Range | Storage |
|---|---|---|
| float | - 1,79E+308 až -2,23E-308, 0 a 2,23E-308 až 1,79E+308 | Závisí na hodnotě n |
| real | - 3,40E + 38 až -1,18E - 38, 0 a 1,18E - 38 až 3,40E + 38 | 4 bajty |
Plovoucí a reálné datové typy se označují jako přibližné datové typy. Chování typu float a real se řídí specifikací IEEE 754 pro přibližné číselné datové typy. Informace o tom, jak kompilátor Microsoft Visual C (MSVC) používá standard IEEE 754, najdete v tématu IEEE Floating-Point reprezentace
Přibližné číselné datové typy neukládají přesné hodnoty zadané pro mnoho čísel; ukládají blízkou aproximaci hodnoty. U některých aplikací není malý rozdíl mezi zadanou hodnotou a uloženou aproximací relevantní. Pro ostatní je ale rozdíl důležitý. Vzhledem k přibližné povaze plovoucích a skutečných datových typů nepoužívejte tyto datové typy, pokud je vyžadováno přesné číselné chování. Příklady, které vyžadují přesné číselné hodnoty, jsou finanční nebo obchodní data, operace zahrnující zaokrouhlování nebo kontroly rovnosti. V těchto případech použijte celé číslo, desetinné číslo, číslice, peníze nebo malé datové typy.
V podmínkách hledání klauzule WHERE nepoužívejte plovoucí nebo reálné sloupce, zejména operátory = a <> operátory. Nejlepší je omezit plovoucí a skutečné sloupce na > porovnání nebo < jejich porovnání.
Převod plovoucích a skutečných dat
Hodnoty float jsou zkráceny, když jsou převedeny na libovolný celočíselné typy.
Pokud chcete převést z plovoucích nebo skutečných na znaková data, je použití funkce řetězce STR obvykle užitečnější než CAST( ). Důvodem je, že STR() umožňuje větší kontrolu nad formátováním. Další informace naleznete v tématu STR (Transact-SQL) a funkce (Transact-SQL).
Před SQL Serverem 2016 (13.x) je převod hodnot float na desetinné číslo omezen pouze na hodnoty přesnosti 17 číslic. Jakákoli hodnota float menší než 5E-18 (při nastavení pomocí vědeckého zápisu 5E-18 nebo desetinného zápisu 0,00000000000000005) se zaokrouhlí dolů na 0. Toto omezení už neplatí pro SQL Server 2016 (13.x).