Bir MySQL veritabanında çok sayıda kayıt saklamak istiyorum. Hepsi para değerleri içeriyor. Ancak her biri için kaç basamak ekleneceğini bilmiyorum.
Bu amaç için hangi veri türünü kullanmalıyım?
VARCHAR veya INT (veya diğer sayısal veri türleri)?
Paranın tam bir gösterime ihtiyacı olduğundan, float
gibi yalnızca yaklaşık olan veri türlerini kullanmayın. Bunun için sabit noktalı sayısal bir veri türü kullanabilirsiniz, örneğin
decimal(15,2)
Bkz. MySQL Sayısal Türleri:
Bu türler, örneğin parasal veriler gibi kesin hassasiyetin korunmasının önemli olduğu durumlarda kullanılır.
DECIMALveya
NUMERIC` kullanabilirsiniz, her ikisi de aynıdır
DECIMAL ve NUMERIC türleri tam sayısal veri değerlerini saklar. Bu tipler, örneğin parasal verilerde kesin hassasiyetin 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 de geçerlidir : MySQL
i.e. DECIMAL(10,2)
İhtiyacınıza göre değişir.
DECIMAL(10,2)kullanmak genellikle yeterlidir, ancak biraz daha kesin değerlere ihtiyacınız varsa
DECIMAL(10,4)` ayarını yapabilirsiniz.
Büyük değerlerle çalışıyorsanız 10
yerine 19
yazın.