対象者:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
アナリティクスプラットフォームシステム(PDW)
Microsoft FabricにおけるSQLデータベース
金額値または通貨値を表すデータ型。
Remarks
| データの種類 | Range | Storage |
|---|---|---|
| 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 セントを指定します。
これらのデータ型では、次の通貨記号のいずれかを使用できます。
| Symbol | Currency | 16 進数の値 |
|---|---|---|
| $ | ドル記号 | 0024 |
| ¢ | セント記号 | 00A2 |
| £ | ポンド記号 | 00A3 |
| ¤ | 通貨記号 | 00A4 |
| ¥ | 円記号 | 00A5 |
| ৲ | ベンガル ルピー マーク | 09F2 |
| ৳ | ベンガルルピー記号 | 09F3 |
| ฿ | タイバーツ通貨記号 | 0E3F |
| ៛ | クメール・リエル通貨記号 | 17DB |
| ₠ | ユーロ通貨記号 | 20A0 |
| ₡ | 大腸署名 | 20A1 |
| ₢ | クルゼイロの看板 | 20A2 |
| ₣ | フランスフラン記号 | 20A3 |
| ₤ | リラサイン | 20A4 |
| ₥ | 製粉所の看板 | 20A5 |
| ₦ | ナイラ記号 | 20A6 |
| ₧ | ペセタの記号 | 20A7 |
| ₨ | ルピー記号 | 20A8 |
| ₩ | 勝った看板 | 20A9 |
| ₪ | 新しいシェケル記号 | 20AA |
| ₫ | ドンの手話 | 20AB |
| € | ユーロサイン | 20AC |
| ₭ | キップサイン | 20AD |
| ₮ | トゥグリクの看板 | 20AE |
| ₯ | ドラクマの看板 | 20AF |
| ₰ | ドイツ語ペニー記号 | 20B0 |
| ₱ | ペソ記号 | 20B1 |
| ﷼ | リアル記号 | FDFC |
| ﹩ | 小ドル記号 | FE69 |
| $ | 全角ドル記号 | FF04 |
| ¢ | 全角の Cent 記号 | FFE0 |
| £ | 全角ポンド記号 | FFE1 |
| ¥ | 全角円記号 | FFE5 |
| ₩ | 全角ウォン記号 | FFE6 |
通貨または通貨データを単一引用符 (') で囲む必要はありません。 通貨記号の前に通貨値を指定できますが、SQL Server ではシンボルに関連付けられている通貨情報は格納されませんが、数値のみが格納されます。
Warning
通貨値を 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