SQL - tipo money

 
Vista:

tipo money

Publicado por Beatriz (42 intervenciones) el 29/09/2008 17:20:47
Hola amigos de este foro¡¡¡me encuentro en un dilem,,y no se como darle solucion¿¿¿
Como hago para que el tipo de datos money me acepte 5 decimales???
solo me acepta 4.......por favor si me pueden dar una solucion¡¡
muy agradecida
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:tipo money

Publicado por Isaias (5072 intervenciones) el 29/09/2008 20:13:21
En campos Money y SMALLMONEY, no se pueden manejar mas de 4 decimales

Si un objeto se define como money, puede tener un máximo de 19 dígitos y 4 de ellos pueden estar a la derecha del decimal. El objeto usa 8 bytes para almacenar los datos. Por tanto, el tipo de datos money tiene una precisión de 19, una escala de 4 y una longitud de 8.

Los tipos de datos money y smallmoney están limitados a cuatro espacios decimales. Use el tipo de datos decimal si se necesitan más espacios decimales.

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.

En las constantes money o smallmoney no se permiten los separadores de coma, aunque el formato de presentación de estos tipos de datos los incluye
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:tipo money

Publicado por Beatriz (42 intervenciones) el 29/09/2008 20:38:53
hola mil gracias Isaias, fijese que defini los datos como numerico numeric(12,5), fijese que en ese campo almaceno el precio unitario de articulos, y se deben almacenar 5 decimales, por cuestiones de urgencia ya hice el cambio, cree que fue una buena decision???
A la espera de su repuesta mil gracias Isaias¡¡¡¡
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:tipo money

Publicado por Isaias (5072 intervenciones) el 30/09/2008 16:41:33
En todo caso, declara tu campo como DECIMAL (12,5):

DECLARE @MyDinero DECIMAL (12,5)
SET @MyDinero = 10800.12345
PRINT @MyDinero
SELECT CAST(@MyDinero AS MONEY)

Solo que al convertir a MONEY (para colocar el signo de moneda y separadores de miles), te recortara tus decimales.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:tipo money

Publicado por rxstudio (1 intervención) el 25/04/2019 03:46:04
Saludos, mi caso hermano es todo lo contrario, en sql tengo el campo "Precio de venta" (por ej.) y lo tengo declarado como money, el caso es que en c# solo coloco un número, "5" (por ej.) y cuando guardo el dato en la tabla me aparece 5.0000. Cómo puedo solucionar esto para que después del punto solo me aparezcan 2 decimales?, le agradezco de ante mano.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Vega
Val: 187
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

RE:tipo money

Publicado por Vega (73 intervenciones) el 25/04/2019 08:42:46
¿porqué importa la precisión del número?

Cuando extraigas el valor de la base de datos utiliza un cast( X as decima(12,2))

O cambia el tipo de dato del campo en la tabla a decimal para acotar los decimales y así evitas conversiones innecesarias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar