money と smallmoney (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics 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 バイト

Moneysmallmoney データ型を表している通貨単位の 10,000 の精度はします。 Informatica では、money データ型と smallmoney データ型の精度は、それらが表している通貨単位の 1/100 です。

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

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

Table of currency symbols, hexadecimal values

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

money 型データの変換

変換すると money から整数データ型は、単位は金額であると仮定します。 4 の整数値を変換するなど、 money 4 通貨単位に相当します。

次の例では、変換 smallmoneymoney 値を varchar10 進 それぞれのデータ型します。

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)Data Types (Transact-SQL)DECLARE @local_variable (Transact-SQL)SET @local_variable (Transact-SQL)sys.types (Transact-SQL)