Sabit Nokta (Kesin Değer) Türleri
DECIMAL ve NUMERIC türleri kesin sayısal veri değerlerini saklar. Bu türler, örneğin parasal veriler gibi kesin doğruluğun korunması önemli olduğunda kullanılır. MySQL'de NUMERIC DECIMAL olarak uygulanır, bu nedenle DECIMAL ile ilgili aşağıdaki açıklamalar NUMERIC için eşit olarak geçerlidir.
MySQL 5.1, DECIMAL değerlerini ikili biçimde saklar. MySQL 5.0.3'ten önce dize olarak saklandılar. Bkz. Bölüm 11.18, “Hassas Matematik”.
DECIMAL sütun bildiriminde, kesinlik ve ölçek belirtilebilir (ve genellikle belirtilebilir); Örneğin:
salary DECIMAL(5,2)
Bu örnekte, 5 kesinlik ve 2 ölçeğidir. Kesinlik, değerler için saklanan önemli basamak sayısını ve ölçek, ondalık noktadan sonra depolanabilecek basamak sayısını temsil eder.
Standart SQL, DECIMAL'ın (5,2) beş basamaklı ve iki ondalık basamaklı herhangi bir değeri depolayabilmesini gerektirir, bu nedenle maaş sütununda depolanabilen değerler -999,99 ila 999,99 arasındadır.
Standart SQL'de DECIMAL (M) sözdizimi DECIMAL (M, 0) ile eşdeğerdir. Benzer şekilde DECIMAL sözdizimi DECIMAL (M, 0) ile eşdeğerdir; burada uygulamanın M. değerine karar vermesine izin verilir. MySQL, bu DECIMAL sözdiziminin her iki biçimini de destekler. Varsayılan M değeri 10'dur.
Ölçek 0 ise, DECIMAL değerleri ondalık nokta veya kesirli kısım içermez.
DECIMAL için maksimum basamak sayısı 65'tir, ancak belirli bir DECIMAL sütununun gerçek aralığı, belirli bir sütunun kesinliği veya ölçeği ile kısıtlanabilir. Böyle bir sütuna, belirtilen ölçeğin izin verdiğinden daha fazla basamak içeren bir değer atandığında, değer bu ölçeğe dönüştürülür. (Kesin davranış işletim sistemine özgüdür, ancak genellikle etki izin verilen basamak sayısına kısaltılır.)