money および smallmoney (Transact-SQL)
金銭や通貨の値を表す金額データ型です。
適用対象: SQL Server (SQL Server 2008 から現在のバージョンまで)、Windows Azure 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 セントを表します。
これらのデータ型は次の通貨記号を使用できます。
通貨データまたは金額データは単一引用符 (') で囲む必要はありません。 通貨記号が前に付いた金額値を指定することはできますが、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)
関連項目
参照
CAST および CONVERT (Transact-SQL)
DECLARE @local\_variable (Transact-SQL)