money e smallmoney (Transact-SQL)

Si applica a:SQL Server database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics AnalyticsPlatform System (PDW)

Tipi di dati che rappresentano valori monetari o valutari.

Osservazioni

Tipo di dati Intervallo Storage
money Da -922.337.203.685.477,5808 a 922.337.203.685.477,5807 (da -922.337.203.685.477,58
a 922.337.203.685.477,58 per Informatica. Informatica supporta solo due posizioni decimali e non quattro).
8 byte
smallmoney Da -214.748.3648 a 214.748.3647 4 byte

I tipi di dati money e smallmoney sono caratterizzati da una precisione pari a dieci millesimi delle unità monetarie rappresentate. Per Informatica i tipi di dati money e smallmoney sono caratterizzati da una precisione pari a un centesimo delle unità monetarie rappresentate.

Per separare le unità di valuta parziali, ad esempio i centesimi, da quelle intere, utilizzare il punto. Ad esempio, 2.15 indica 2 dollari e 15 centesimi.

È possibile utilizzare questi tipi di dati per i simboli di valuta illustrati di seguito.

Table of currency symbols, hexadecimal values

Non è necessario racchiudere i dati di tipo valuta tra virgolette singole ('). È importante tenere presente che anche se è possibile specificare un simbolo di valuta che precede i valori di valuta, in SQL Server le informazioni relative alla valuta archiviate non sono associate al simbolo, ma è presente solo il valore numerico.

Conversione dei dati di tipo money

Nella conversione dal tipo di dati Integer a money le unità vengono interpretate come unità di valuta. Ad esempio, il valore Integer 4 viene convertito nell'equivalente di 4 unità di valuta per il tipo money.

Nell'esempio seguente i valori smallmoney e money vengono convertiti rispettivamente nei tipi di dati varchar e 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';  

Questo è il set di risultati.

SM_MONEY VARCHAR               MONEY DECIMAL  
------------------------------ ----------------------  
3148.29                        3148    
(1 row(s) affected)  

Vedi anche

ALTER TABLE (Transact-SQL)CAST e CONVERT (Transact-SQL)CREATE TABLE (Transact-SQL)Tipi di dati (Transact-SQL)DECLARE @local_variable (Transact-SQL)SET @local_variable (Transact-SQL)sys.types (Transact-SQL)