Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
Azure Synapse Analytics
Elemzési platformrendszer (PDW)
SQL Analytics-végpont a Microsoft Fabricben
Raktár a Microsoft Fabricben
SQL-adatbázis a Microsoft Fabricben
Lebegőpontos numerikus adatokkal használható hozzávetőleges szám adattípusok. A lebegőpontos adatok hozzávetőlegesek; ezért az adattípustartományban nem minden érték jeleníthető meg pontosan. A valós ISO-szinonimája a float(24).
Transact-SQL szintaxis konvenciók
Syntax
float [ (n) ] Ahol n az úszószám mantissa tudományos jelölésben való tárolására használt bitek száma, és ezért meghatározza a pontosságot és a tárolási méretet. Ha n van megadva, annak 1 és 53 közötti értéknek kell lennie. Az n alapértelmezett értéke 53.
| n érték | Precision | Tárterület mérete |
|---|---|---|
| 1-24 | 7 számjegy | 4 bájt |
| 25-53 | 15 számjegy | 8 bájt |
Note
Az SQL Server az n-t két lehetséges érték egyikeként kezeli. Ha 1<=n<=24, az n24-ként lesz kezelve. Ha 25<=n<=53, akkor az n53-as.
Az SQL Server lebegőpontos[(n)] adattípusa megfelel az 1 és 53közötti n értékekre vonatkozó ISO-szabványnak. A kettős pontosság szinonimája a float(53).
Remarks
| Adattípus | Range | Storage |
|---|---|---|
| float | - 1.79E+308–-2.23E-308, 0 és 2.23E-308–1.79E+308 | Az n értékétől függ |
| real | - 3,40E + 38-1,18E - 38, 0 és 1,18E - 38-3,40E + 38 | 4 bájt |
A lebegőpontos és a valós adattípusokat hozzávetőleges adattípusoknak nevezzük. A lebegőpontos és valós viselkedés az IEEE 754 specifikációját követi közelítő numerikus adattípusokon. Ha tudni szeretné, hogy a Microsoft Visual C (MSVC) fordító hogyan használja az IEEE 754 szabványt, tekintse meg az IEEE Floating-Point-ábrázolást
A közelítő numerikus adattípusok nem tárolják a számos számhoz megadott pontos értékeket; az érték közel közelítését tárolják. Egyes alkalmazások esetében a megadott érték és a tárolt közelítés közötti apró különbség nem releváns. Mások számára azonban a különbség fontos. A lebegőpontos és valós adattípusok hozzávetőleges jellege miatt ne használja ezeket az adattípusokat, ha pontos numerikus viselkedésre van szükség. A pontos numerikus értékeket igénylő példák például a pénzügyi vagy üzleti adatok, a kerekítéssel járó műveletek vagy az egyenlőségi ellenőrzések. Ezekben az esetekben használja az egész számot, decimális, numerikus, pénz vagy kis méretű adattípust.
Ne használjon lebegőpontos vagy valós oszlopokat a WHERE záradék keresési feltételeiben, különösen az = és <> operátorok esetén. A legjobb, ha a lebegőpontos és a valós oszlopokat az összehasonlításokra vagy összehasonlításokra >< korlátozza.
Lebegőpontos és valós adatok konvertálása
A lebegőpontos értékek csonkolva lesznek, amikor bármilyen egész típusúra konvertálják őket.
Ha lebegőpontos vagy valós adatokból karakteres adatokat szeretne konvertálni, az STR sztringfüggvény használata általában hasznosabb, mint a CAST( ). Ennek az az oka, hogy az STR() lehetővé teszi a formázás szabályozását. További információ: STR (Transact-SQL) és Functions (Transact-SQL).
Az SQL Server 2016 (13.x) előtt a lebegőpontos értékek decimális vagy numerikus értékké alakítása csak 17 számjegy pontosságú értékekre korlátozódik. Az 5E-18-nál kisebb lebegőpontos értékek (ha az 5E-18 tudományos jelölését vagy a 0,0000000000000 tizedesjegyet használják) 0-ra kerekül. Ez már nem az SQL Server 2016 (13.x) korlátozása.