Használata decimális adattípusok úszót és a valós
tizedes adattípus tárolható legfeljebb 38 bit, amelyek mindegyike lehet a jogot a tizedes pont. tizedes adattípus tárol pontos mása a számot. Nincs koncepció közelsége a tárolt érték.
Két tulajdonságok, amelyek meghatározzák az oszlopok, változók és paraméterek tizedes.
Meghatározza a pontosságot, illetve a bitek száma tárolható objektumot.
Ez meghatározza a skála vagy a bitek számát, hogy lehet elhelyezni, hogy a jogot a tizedes pont.
p és s meg kell felelnie a szabály: 0 <= s <= p <= 38.
Alapértelmezésben a maximális pontosság numerikus és decimális adattípusok 38 bit. A Transact-SQL adattípus numerikus funkcionálisan egyenértékű decimális adat típus.
Használja a tizedes adattípus tárolására számokat a tízes számrendszerben, ha az adatok érték típusát kell tárolni, pontosan meghatározott.
További információ a befolyása a matematikai műveleteket a pontosság és a skála az eredmény, lásd. Lásd Precision, Scale, és hossza (-SQL).
Adattípusok úszó és a valós adattípusok hívják hozzávetőleges. Viselkedés úszó és a valós megfelel az IEEE 754 specifikációját közelítő numerikus adattípusok.
Hozzávetőleges numerikus adattípusok nem tárolja a pontos megadott értékek sok számot. Ehelyett folyamatosan egy nagyon jó közelítéssel ezeket az értékeket. Sok alkalmazás, a különbség a célérték és a tárolt közelítés jelentéktelen. Azonban bizonyos esetekben ez a különbség lesz észrevehető. Mivel a durva jellegét adattípusok úszó és a valós, ne használja őket, ha szeretné tárolni az értékeket a pontosság. Például a pénzügyi alkalmazások, a műveletek kerekítési vagy egy pontos egyenlőséget ellenőrzéseket. Ehelyett a integer adattípusokat, tizedes. pénz vagy smallmoney.
Kerüljük a float típusú és a valós oszlop WHERE, különösen akkor, ha a logikai operátorok = és <>. Javasoljuk, hogy korlátozzák a használatát az oszlop úszó, és a valódi összehasonlító operátorok> vagy <.
IEEE 754 specifikáció négy kerekítési mód: kerekítést legközelebbi felfelé kerekítés, kerekítés felfelé és lefelé kerekítve nulla. A Microsoft SQL Server használja a felfelé kerekítés. Mindezek a mód garantálja a teljesítményt, de eltérő eredményeket lebegőpontos értékeket. Mivel a bináris lebegőpontos számok használhatnak a beállított megengedhető kerekítés áramkörök, ez lehetetlenné teszi, hogy pontosan az értéket egy lebegőpontos.