SQL Server PARA veya DECİMAL(x,y) veri türleri seçmeliyim?
Veya money
Veri ve decimal(19,4)
gibi bir şey para DAHİLİ olarak kullandığı (sanırım) arasında gerçek bir fark var olup olmadığını çok merak ediyorum.
money
SQL Server için özel olduğunu biliyorum. Benim bilmek istediğim ise bir zorlayıcı neden tercih üzerinde Diğer; En SQL Server örnekleri (örneğin, AdventureWorks veritabanı) kullanın. money
decimal
gibi şeyler fiyat bilgileri.
Sadece para türü kullanmaya devam etmeli miyim, yoksa bunun yerine ondalık kullanarak bir yararı var mı? Para tip ama bu geçerli bir sebep değil:) daha az karakter
CEVAP
SQLMenace para hatalı olduğunu söyledi. Ama para ile para bölme/çarpma yok! Ne kadar 3 kere dolar 50 sent. 150 dollarcents? Sen/ondalık olması gereken skaler, para çarpın bölün.
DECLARE
@mon1 MONEY,
@mon4 MONEY,
@num1 DECIMAL(19,4),
@num2 DECIMAL(19,4),
@num3 DECIMAL(19,4),
@num4 DECIMAL(19,4)
SELECT
@mon1 = 100,
@num1 = 100, @num2 = 339, @num3 = 10000
SET @mon4 = @mon1/@num2*@num3
SET @num4 = @num1/@num2*@num3
SELECT @mon4 AS moneyresult,
@num4 AS numericresult
Doğru sonucu verir:
moneyresult numericresult --------------------- --------------------------------------- 2949.8525 2949.8525
money
iyi 4 veya daha fazla ondalık basamak gerekmez sürece, ve skaler para temsil eden - - emin olun decimal
ler.
C# SQL Server veri Türleri Eşdeğer...
Ne ana performans varchar ve nvarchar ...
Nasıl tarih sadece SQL Server datetime...
SQL Server üzerinde INSERT VEYA UPDATE...
C para için kullanılacak en iyi veri t...