Using Monetary Data
Microsoft SQL Server przechowuje dane monetarne lub wartości walutowych, za pomocą dwóch typów danych: money i smallmoney. Te typy danych, można użyć dowolnego z następujących symboli walut.
Waluta lub dane dotyczące kwot pieniężnych nie musi być ujęty w znaki pojedynczego cudzysłowu (').Ważne jest należy pamiętać, że w czasie, gdy można określić wartości pieniężnych poprzedzone symbolem waluty SQL Server nie magazynu wszelkie informacje o walucie skojarzone ze znakiem, przechowuje on tylko wartość liczbową. Na przykład aby przypisać wartość równą 100 dolary do zmiennej, użytkownik może wykonaj następujące czynności:
DECLARE @dollars AS money
SET @dollars = $100
SELECT @dollars
Wartość zwracana jest 100.0000 bez symbolu waluty.
Jeśli obiekt jest definiowany jako money, może zawierać maksymalnie 19 cyfr, z których 4 są po przecinku. Obiekt używa 8 bajtów do przechowywania danych.The money data type therefore has a precision of 19, a scale of 4, and a length of 8.
money i smallmoney jest ograniczona do czterech separatora dziesiętnego. Użycie decimal Typ danych, jeśli więcej przecinki dziesiętne są wymagane.
Użyj okresu do oddzielenia częściowe jednostek pieniężne, centów, podobnie jak z całości pieniężnej jednostek.Na przykład 2,15 określa 2 zł i 15 groszy.
Separatory przecinek nie są dozwolone w money lub smallmoney stałe, format wyświetlania tych typów danych zawiera przecinek jako separatorami. Można określić jawnie rzutować separatory przecinek tylko w przypadku ciągów znaków money lub smallmoney. Na przykład:
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