money と smallmoney (Transact-SQL)
適用対象: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
金額値または通貨値を表すデータ型。
解説
データ型 | Range | ストレージ |
---|---|---|
money | -922,337,203,685,477.5808 ~ 922,337,203,685,477.5807 (Informatica では -922,337,203,685,477.58 ~ 922,337,203,685,477.58。 Informatica では、小数点以下 4 桁ではなく、小数点以下 2 桁 のみをサポートします。) |
8 バイト |
smallmoney | -214,748.3648 ~ 214,748.3647 | 4 バイト |
Money と smallmoney データ型を表している通貨単位の 10,000 の精度はします。 Informatica では、money データ型と smallmoney データ型の精度は、それらが表している通貨単位の 1/100 です。
全体の通貨単位からセントなどの部分的な通貨単位を分離するには、ピリオドを使用します。 たとえば、 2.15
は 2 ドルと 15 セントを指定します。
これらのデータ型では、次の通貨記号のいずれかを使用できます。
記号 | 通貨 | 16 進数値 |
---|---|---|
$ | ドル記号 | 0024 |
¢ | セント 記号 | 00A2 |
£ | ポンド記号 | 00A3 |
¤ | 通貨記号 | 00A4 |
¥ | 円記号 | 00A5 |
৲ | ベンガル ルピー マーク | 09F2 |
৳ | ベンガルルピー記号 | 09F3 |
฿ | タイバーツ通貨記号 | 0E3F |
៛ | クメール・リエル通貨記号 | 17DB |
₠ | ユーロ通貨記号 | 20A0 |
₡ | コロン記号 | 20A1 |
₢ | クルゼイロ記号 | 20A2 |
₣ | フランスフラン記号 | 20A3 |
₤ | Lira sign | 20A4 |
₥ | ミルサイン | 20A5 |
₦ | ナイラ記号 | 20A6 |
₧ | ペセタ記号 | 20A7 |
Rs | Rupee sign | 20A8 |
₩ | Won sign | 20A9 |
₪ | 新しいシェケル記号 | 20AA |
₫ | ドン記号 | 20AB |
€ | ユーロ記号 | 20AC |
₭ | キップ 記号 | 20AD |
₮ | Tugrik sign | 20AE |
₯ | ドラクマ記号 | 20AF |
₰ | ドイツ語ペニー記号 | 20B0 |
₱ | ペソ記号 | 20B1 |
﷼ | リアル記号 | FDFC |
﹩ | 小ドル記号 | FE69 |
$ | 全角ドル記号 | FF04 |
¢ | 全角の Cent 記号 | FFE0 |
£ | 全角ポンド記号 | FFE1 |
¥ | 全角円記号 | FFE5 |
₩ | 全角ウォン記号 | FFE6 |
通貨または通貨データを単一引用符 ('
) で囲む必要はありません。 通貨記号の前に通貨値を指定できますが、SQL Server ではシンボルに関連付けられている通貨情報は格納されませんが、数値のみが格納されます。
警告
通貨値を money および smallmoney として格納すると、切り捨てによってエラーが丸められます。 金額または通貨の値が計算で使用される場合は、このデータ型を使用しないでください。 代わりに、小数点以下 4 桁以上の decimal データ型を使用します。
お金のデータを変換する
変換すると money から整数データ型は、単位は金額であると仮定します。 たとえば、4
の整数値は、4 通貨単位に相当通貨に変換されます。
次の例では、変換 smallmoney と money 値を varchar と 10 進 それぞれのデータ型します。
DECLARE @mymoney_sm SMALLMONEY = 3148.29,
@mymoney MONEY = 3148.29;
SELECT CAST(@mymoney_sm AS VARCHAR(20)) AS 'SM_MONEY VARCHAR(20)',
CAST(@mymoney AS DECIMAL) AS 'MONEY DECIMAL';
結果セットは次のようになります。 この例の decimal 型には scaleがないため、値は切り捨てられます。
SM_MONEY VARCHAR(20) MONEY DECIMAL
------------------------------ ----------------------
3148.29 3148