money y smallmoney (Transact-SQL)

Tipos de datos que representan valores monetarios o de moneda.

Tipo de datos

Intervalo

Almacenamiento

money

De -922,337,203,685.477,5808 a 922,337,203,685.477,5807

8 bytes

smallmoney

De - 214.748,3648 a 214.748,3647

4 bytes

Comentarios

Los tipos de datos money y smallmoney tienen una precisión de una diezmilésima de las unidades monetarias que representan.

Use un punto para separar las unidades parciales de moneda, como céntimos, de las unidades completas de moneda. Por ejemplo, 2.15 puede especificar 2 dólares y 15 centavos.

Estos tipos de datos pueden usar alguno de los siguientes símbolos de moneda.

Tabla de símbolos de moneda, valores hexadecimales

No es necesario incluir los datos de moneda entre comillas simples ('). Es importante recordar que aunque es posible especificar valores monetarios precedidos de un símbolo de moneda, SQL Server no almacena ninguna información de moneda asociada con el símbolo, solo almacena el valor numérico.

Convertir datos money

Cuando se convierte a money desde tipos de datos enteros, se supone que las unidades están en unidades de moneda. Por ejemplo, el valor entero 4 se convierte al equivalente money de 4 unidades monetarias.

En el ejemplo siguiente se convierten valores smallmoney y money a tipos de datos varchar y decimal, respectivamente.

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

El conjunto de resultados es el siguiente.

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

Vea también

Referencia

ALTER TABLE (Transact-SQL)

CAST y CONVERT (Transact-SQL)

CREATE TABLE (Transact-SQL)

Tipos de datos (Transact-SQL)

DECLARE @local\_variable (Transact-SQL)

SET @local\_variable (Transact-SQL)

sys.types (Transact-SQL)