Parasal veri kullanma

Microsoft SQL Server Parasal veri veya iki veri türleri'ni kullanarak, para birimi değerlerini depolar: money ve smallmoney. Bu veri türleri aşağıdaki para birimi simgelerini herhangi birini kullanabilirsiniz.

Table of currency symbols, hexadecimal values

Para birimi veya parasal veri tek tırnak işareti (') içine alınması gerekli değildir.Parasal değerleri para birimi simgesi tarafından öncesinde belirttiğiniz sırada, hatırlamanız önemlidir SQL Server para birimi bilgileri simge ile ilişkili depo yapar, belgeyi yalnızca sayısal bir değer saklar. Örneğin, 100 dolar değerini bir değişkene atamak için aşağıdakileri yapabilirsiniz:

DECLARE @dollars AS money
SET @dollars = $100
SELECT @dollars

Döndürülen 100.0000, para birimi simgesi olmadan değerdir.

Bir nesne olarak tanımlanmış olması durumunda money, en çok 4 ondalık sağında olabilir, 19 basamak içerebilir. Nesne, verileri depolamak için 8 bayt kullanır.The money data type therefore has a precision of 19, a scale of 4, and a length of 8.

money ve smallmoney dört ondalık noktalarını sınırlıdır. Use decimal daha fazla ondalık ayırıcıları gerekiyorsa, veri türü.

Tüm para birimlerinden gibi cents, kısmi parasal birim ayırmak için nokta kullanın.Örneğin, 2 dolar ve 15 cents 2.15 belirtir.

Virgül ayırıcıları izin verilmez money veya smallmoney sabitler, olsa da, virgül ayırıcıları görüntülenme biçimini, bu veri türlerini içerir. Yalnızca karakter dizesinin içinde virgül ayırıcıları için açıkça artığını belirtin money veya smallmoney. Örneğin:

USE tempdb;
GO
CREATE TABLE TestMoney (cola INT PRIMARY KEY, colb MONEY);
GO
SET NOCOUNT ON;
GO

-- The following three INSERT statements work.
INSERT INTO TestMoney VALUES (1, $123.45);
GO
INSERT INTO TestMoney VALUES (2, $123123.45);
GO
INSERT INTO TestMoney VALUES (3, CAST('$444,123.45' AS MONEY) );
GO

-- This INSERT statement gets an error because of the comma
-- separator in the money string.
INSERT INTO TestMoney VALUES (3, $555,123.45);
GO
SET NOCOUNT OFF;
GO
SELECT * FROM TestMoney;
GO