Utilizarea tipurilor de date zecimale, float și reală

Tipul de date zecimal nu poate stoca mai mult de 38 de biți, toate acestea pot fi la dreapta punctului zecimal. Tipul de date zecimal stochează o reprezentare exactă a numărului. Nu există nici un concept de proximitate la valoarea stocată.

Două atribute care definesc coloanele, variabilele și parametrii sunt zecimal.

Specifică precizia, sau numărul de biți care pot fi stocate obiect.

Acesta specifică scara sau numărul de biți care pot fi poziționate la dreapta punctului zecimal.

p și s trebuie să respecte regula: 0 <= s <= p <= 38.

În mod implicit, precizia maximă de tipuri de date numerice și zecimale este de 38 de biți. In Transact-SQL tip de date numeric este echivalent funcțional tip de date zecimal.

Utilizați tipul de date zecimal pentru a stoca numere în sistemul zecimal, atunci când trebuie să fie stocate exact tipul de date al valorii specificate.

Pentru mai multe informații despre influența operațiunilor matematice privind precizia și amploarea rezultatului, a se vedea. A se vedea, de precizie, Scale, și Lungime (Transact-SQL).

Tipuri de date float si tipuri de date reale sunt numite aproximative. float Comportamentul și reală corespunde IEEE 754 specificații pentru tipuri de date numerice aproximative.

Aproximative tipuri de date numerice nu stochează valorile exacte specificate pentru mai multe numere. În schimb, ei păstrează o aproximare foarte bună pentru aceste valori. Pentru multe aplicații, diferența dintre valoarea țintă și apropierea stocată este nesemnificativă. Cu toate acestea, în unele cazuri, această diferență devine vizibilă. Datorită naturii brute a datelor tipuri de float și reale, nu le folosiți, dacă doriți să stocați valorile de precizie. De exemplu, în aplicații financiare, în cadrul operațiunilor care implică rotunjiri, sau pe un verificări exacte de egalitate. În schimb, utilizați tipuri de date întreg, zecimal. bani sau smallmoney.

Evitați utilizarea de tip float și coloana reală în clauza WHERE, mai ales atunci când se utilizează operatori logici =, și <>. Se recomandă să se limiteze utilizarea flotorului coloana, și compararea reală operatorii> sau <.

IEEE 754 caietul de sarcini oferă patru moduri de rotunjire: rotunjire la cea mai apropiata rotunjire, rotunjirea în sus și în jos rotunjire la zero. Microsoft SQL Server utilizează rotunjirea. Toate aceste moduri garantează acuratețea performanței, dar ele dau rezultate ușor diferite pentru valori în virgulă mobilă. Deoarece reprezentarea binară a numerelor în virgulă mobilă poate utiliza setul de circuite de rotunjire admise, acest lucru face imposibilă stabilirea cu exactitate valoarea unui punct de flotant.

articole similare