money e smallmoney (Transact-SQL)

Tipi di dati che rappresentano valori monetari o valutari.

Tipo di dati

Intervallo

Archiviazione

money

Da -922.337.203.685.477,5808 a 922.337.203.685.477,5807

8 byte

smallmoney

Da -214.748,3648 a 214.748,3647

4 byte

Osservazioni

I tipi di dati money e smallmoney sono caratterizzati da una precisione pari a dieci millesimi 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.

Tabella dei simboli di valuta, valori esadecimali

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 rispettivamente convertiti 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';

Set di risultati:

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

Vedere anche

Riferimento

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)