Типы money и smallmoney (Transact-SQL)
Типы данных, представляющие денежные (валютные) значения.
Тип данных |
Диапазон |
Хранение |
---|---|---|
money |
От -922 337 203 685 477,5808 до 922 337 203 685 477,5807 |
8 байт |
smallmoney |
От -214 748,3648 до 214 748,3647 |
4 байта |
Замечания
Типы данных money и smallmoney имеют точность до одной десятитысячной денежной единицы, которую они представляют.
Чтобы отделить дробные денежные единицы, например центы, от целых денежных единиц, используйте запятую. Например, 2,15 соответствует 2 долларам и 15 центам.
Для этих типов данных может использоваться любой из следующих символов валют.
Валютные или денежные данные не требуется заключать в одинарные кавычки ( ' ). Важно помнить, что, несмотря на возможность указания денежных значений, которым предшествует символ валюты, 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)
См. также
Справочник
Функции CAST и CONVERT (Transact-SQL)
Инструкция CREATE TABLE (Transact-SQL)
DECLARE @local\_variable (Transact-SQL)