Типы money и smallmoney (Transact-SQL)

Применимо к:SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure Azure Synapse Analytics AnalyticsPlatform System (PDW)

Типы данных, представляющие денежные (валютные) значения.

Замечания

Тип данных Диапазон Хранилище
money От –922,337,203,685,477.5808 до 922,337,203,685,477.5807 (от –922,337,203,685,477.58
до 922,337,203,685,477.58 в Informatica. В Informatica поддерживается только два десятичных знака, а не четыре)
8 байт
smallmoney -214 748,3648 до 214 748,3647 4 байта

Типы данных money и smallmoney имеют точность до одной десятитысячной денежной единицы, которую они представляют. В Informatica типы данных money и smallmoney имеют точность до одной сотой денежной единицы, которую они представляют.

Чтобы отделить дробные денежные единицы, например центы, от целых денежных единиц, используйте запятую. Например, 2,15 соответствует 2 долларам и 15 центам.

Для этих типов данных может использоваться любой из следующих символов валют.

Table of currency symbols, hexadecimal values

Валютные или денежные данные не требуется заключать в одинарные кавычки ( ' ). Важно помнить, что, хотя можно указать денежные значения, предшествующие символу валюты, SQL Server не сохраняет ни одну валюту, связанную с символом, она сохраняет только числовое значение.

Преобразование данных типа money

При преобразовании типа данных integer в тип money используются денежные единицы. Например, целочисленное значение 4 преобразуется в значение типа данных money величиной 4 денежные единицы.

В следующем примере выполняется преобразование значений типов smallmoney и money в значения типов varchar и decimal соответственно.

DECLARE @mymoney_sm SMALLMONEY = 3148.29,  
        @mymoney    MONEY = 3148.29;  
SELECT  CAST(@mymoney_sm AS VARCHAR) AS 'SM_MONEY varchar',  
        CAST(@mymoney AS DECIMAL)    AS 'MONEY DECIMAL';  

Результирующий набор:

SM_MONEY VARCHAR               MONEY DECIMAL  
------------------------------ ----------------------  
3148.29                        3148    
(1 row(s) affected)  

См. также

ALTER TABLE (Transact-SQL)CAST и CONVERT (Transact-SQL)CREATE TABLE (Transact-SQL)Data Types (Transact-SQL)DECLARE @local_variable (Transact-SQL)SET @local_variable (Transact-SQL)sys.types (Transact-SQL)