Aracılığıyla paylaş


Ondalık, kayan nokta ve gerçek veri kullanma

The decimal data type can store a maximum of 38 digits, all of which can be to the right of the decimal point.The decimal data type stores an exact representation of the number; there is no approximation of the stored value.

İki özniteliklerini tanımlayan decimal sütunlar, değişkenler ve parametreleri şunlardır:

  • p

    Duyarlılık veya nesne için basılı tutabilirsiniz basamak sayısını belirtir.

  • s

    Ölçek ya da ondalık noktasının sağına yerleştirilmiş basamak sayısını belirtir.

    p ve s kural gözlemlemek gerekir: 0 <= s <= p <= 38.

Varsayılan duyarlık üst sınırını numeric ve decimal veri türleri olan 38.De Transact-SQL, numeric desteklerken için decimal veri türü.

Use decimal veri türü veri değerleri tam olarak belirtilen depolanması gerekir, ondalık sayıları saklamak için.

Nasıl matematik işlemleri etkileyen duyarlık ve ölçeği sonucu hakkında daha fazla bilgi için bkz: Duyarlık, ölçek ve uzunluk (Transact-sql).

Kayan nokta ve gerçek veri kullanma

The float and real data types are known as approximate data types.Davranışını float ve real izleyen IEEE 754 belirtimi yaklaşık sayısal veri türü.

Yaklaşık sayısal veri türleri için birçok numaraları belirtilen kesin değerleri depolar; Bunlar son derece yakın yaklaşık değeri olarak saklayın.Birçok uygulama için belirtilen değer ve saklı yaklaşık küçük farka dikkat çekici değil.Bazen, ama fark dikkat çekici olur.Yaklaşık doğası nedeniyle float ve real veri türlerini kullanmak bu veri türleri, tam bir sayısal davranış gereklidir gibi finansal uygulamalar, işlemleri kapsayan yuvarlama veya eşitlik denetler.Bunun yerine tamsayı kullanın decimal, money, veya smallmoney veri türü.

Kullanmaktan kaçının float veya real where yan tümce tümce tümcesinde sütunlar arama koşulları, özellikle = ve <> operators.Sınırlamak en iyi float ve real sütunlar için > veya < karşılaştırmalar.

IEEE 754 belirtimi dört yuvarlama modlarını sunar: en yakın, round up, yuvarlak kapalı YUVARLA ve sıfıra yuvarlama.Microsoft SQL Server uses round up.Tüm garantili kesinlik için doğru ancak kayan nokta biraz farklı değerler neden olabilir.Kayan noktalı sayı ikili gösterimini yasal yuvarlama düzenlerden birini kullanılabileceği için güvenilir bir kayan nokta değeri belirtmek imkansızdır.