tam sayıyı, farklı olması da tam sayının 10^Scale bölümüyle küçültür.
Kod: Tümünü seç
Precision Aralığı Çevireceği tip Max Alabileceği Değer
------------------------- ------------------- -----------------------
Numeric(1) - Numeric(4) SmallInt 16 bit = 2^15
Numeric(5) - Numeric(9) Integer 32 bit = 2^31
Numeric(10) - Numeric(18) Bigint (Int64) 64 bit = 2^63
------------------------- ------------------- ----------------------
Virgülden sonra 1 basamak olduğuna göre, 32.767/(10^1) = 3.276,7 Insert yapabileceğiniz
en büyük değerdir.
Örnek 2: Numeric(3,2) Smallint aralığına girer. Bu da (2^15)-1' den 32.767 dir.
Virgülden sonra 2 basamak olduğuna göre, 32.767/(10^2) = 327,67 Insert yapabileceğiniz
en büyük değerdir.
Örnek 3: Numeric(5,1) Integer aralığına girer. Bu da (2^31)-1' den 2.147.483.647 dir.
Virgülden sonra 1 basamak olduğuna göre, 2.147.483.647/(10^1) = 214.748.364,7 Insert
yapabileceğiniz en büyük değerdir.
Örnek 4: Numeric(8,1) Integer aralığına girer. Bu da (2^31)-1' den 2.147.483.647 dir.
Virgülden sonra 1 basamak olduğuna göre, 2.147.483.647/(10^1) = 214.748.364,7 Insert
yapabileceğiniz en büyük değerdir.
*** Numeric(5,1) ile Numeric(8,1) max değerleri neden aynı çıktı? ***
Her iki Scale eşittir ve aynı Precision aralığındadır.
Yani, Scale <= Precison şartıyla virgülden sonra ihtiyaç duyacağınız basamak sayısına
göre Precison ayarlanır.
Decimal veri tipinde durum:
Numeric örneklerindeki hesaplama ile aynıdır. Tek farkı, aşağıda tabloda görünen
aralıklarda convert olur.
Kod: Tümünü seç
Precision Aralığı Çevireceği tip Max Alabileceği Değer
------------------------- ------------------- -----------------------
Decimal(1) - Decimal(9) Integer 32 bit = 2^31
Decimal(10) - Decimal(18) Bigint (Int64) 64 bit = 2^63
------------------------- ------------------- ----------------------