Share via


Parasal verileri kullanarak

Microsoft SQL Server stores monetary data, or currency values, using two data types: moneyand smallmoney.Bu veri türleri aşağıdaki para birimi simgelerinden birini kullanabilirsiniz.

Para birimi simgeleri tablosu, onaltılık değerleri

Para birimi veya parasal verileri, tek tırnak işaretleri içine alınması gerekmez (' ).Parasal değerleri para birimi simgesi önünde belirttiğiniz sırada unutulmaması önemlidir SQL Server mu değil sembol ilişkili herhangi bir para birimi bilgi deposu, yalnızca depolar sayısal değer.Örneğin, 100 ABD Doları değerinde 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ımlanırsa, money, en çok 19 basamak, sağda 4 olabilir içerebilirondalık. 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.

moneyve smallmoney olan sınırlı dört ondalık noktalar.Use decimal veri türü daha fazla ondalık noktası gerekliyse.

Bir dönem, Sent gibi kısmi parasal birim tüm para birimlerinden ayırmak için kullanın.Örneğin, 2.15 2 dolar ve 15 Sent belirtir.

Virgül ayırıcıları kabul edilmez money veya smallmoney sabitleri, bu veri türlerinin görüntülenme biçimini virgül ayırıcıları. içerse deYalnızca karakter dizeleri için açıkça artığını virgül ayırıcıları belirtebilirsiniz 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