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 データ型は、表している通貨単位の 10,000 分の 1 までの精度を持ちます。

すべての通貨単位からセントなどの部分通貨単位を区切るには、ピリオドを使用します。 たとえば、2.15 は 2 ドル 15 セントを表します。

これらのデータ型は次の通貨記号を使用できます。

通貨記号と 16 進数値のテーブル

通貨データまたは金額データは単一引用符 (') で囲む必要はありません。 通貨記号が前に付いた金額値を指定することはできますが、SQL Server はその記号に関連付けられた通貨情報を格納せず、数値のみを格納することに注意してください。

money 型データの変換

整数型を money 型に変換する場合、単位は金額であると仮定されます。 たとえば、整数値の 4 は、4 通貨単位に相当する money 型の値に変換されます。

次の例では、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)

データ型 (Transact-SQL)

DECLARE @local\_variable (Transact-SQL)

SET @local\_variable (Transact-SQL)

sys.types (Transact-SQL)