Pregunta sobre el tipo de Dato Money

19/05/2008 - 22:49 por RP | Informe spam
Hola que tal, vengo desarrollando una aplicación en Visual Basic 6.0 con SQL
Server 2005, lo que pasa es lo siguiente, yo antes desarrollaba guardando los
datos del tipo moneda como float, y ahora a sugerencia de un foro, lo que es
moneda (Soles peruanos) los almaceno como tipo de dato money, pero acá va el
detalle, yo sólo quiero que me guarde con 2 decimales, sim embargo a la hora
de almacenar me lo guarda de esta forma, por ej: 35.4100 Lo que yo quiero
es que sólo me guarde con 2 decimales, como hago eso??, no me digan dentro de
la aplicación xq ya esta para guardar con 2 decimales, pero nada, asi que veo
que es para cambiarlo en el SQL, pero como hacereso??

Preguntas similare

Leer las respuestas

#6 RP
20/05/2008 - 17:53 | Informe spam
Bueno eso es lo que hago, en la capa de presentación me muestra normal con
dos decimales, sin problemas, y tb esta restringido el ingreso a solo dos
decimales, pero a la hora de hacer mis reportes, no me generarar problemas??,
teniendo en cuenta que solo necesito el valor con 2 decimales...

"Gux (MVP)" wrote:

Deje que SQL server almacene tranquilamente los datos de tipo Money con 4
digitos decimales y formatee los valores en la capa de presentación tal cómo
desee usted visualizar los valores.

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.

Gustavo Larriera, Microsoft MVP
https://mvp.support.microsoft.com/p...o.larriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"RP" wrote:

> Hola que tal, vengo desarrollando una aplicación en Visual Basic 6.0 con SQL
> Server 2005, lo que pasa es lo siguiente, yo antes desarrollaba guardando los
> datos del tipo moneda como float, y ahora a sugerencia de un foro, lo que es
> moneda (Soles peruanos) los almaceno como tipo de dato money, pero acá va el
> detalle, yo sólo quiero que me guarde con 2 decimales, sim embargo a la hora
> de almacenar me lo guarda de esta forma, por ej: 35.4100 Lo que yo quiero
> es que sólo me guarde con 2 decimales, como hago eso??, no me digan dentro de
> la aplicación xq ya esta para guardar con 2 decimales, pero nada, asi que veo
> que es para cambiarlo en el SQL, pero como hacereso??
Respuesta Responder a este mensaje
#7 Jhonny Vargas P.
20/05/2008 - 18:00 | Informe spam
Perdón que me meta

Pero opino igual que "don" Gustavo ... mejor dejar que SQL Server almacene
los valores tranquilamente tipo money con 4 decimales...
Cuando quieras "mostrar" o sacar información con un SELECT puedes
formatearlo a 2 decimales... o en tu misma capa de presentación.


Saludos,
Jhonny Vargas P.
http://msmvps.com/jvargas
Santiago de Chile

"RP" escribió en el mensaje de
noticias:
Bueno eso es lo que hago, en la capa de presentación me muestra normal con
dos decimales, sin problemas, y tb esta restringido el ingreso a solo dos
decimales, pero a la hora de hacer mis reportes, no me generarar
problemas??,
teniendo en cuenta que solo necesito el valor con 2 decimales...

"Gux (MVP)" wrote:

Deje que SQL server almacene tranquilamente los datos de tipo Money con 4
digitos decimales y formatee los valores en la capa de presentación tal
cómo
desee usted visualizar los valores.

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.

Gustavo Larriera, Microsoft MVP
https://mvp.support.microsoft.com/p...o.larriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"RP" wrote:

> Hola que tal, vengo desarrollando una aplicación en Visual Basic 6.0
> con SQL
> Server 2005, lo que pasa es lo siguiente, yo antes desarrollaba
> guardando los
> datos del tipo moneda como float, y ahora a sugerencia de un foro, lo
> que es
> moneda (Soles peruanos) los almaceno como tipo de dato money, pero acá
> va el
> detalle, yo sólo quiero que me guarde con 2 decimales, sim embargo a la
> hora
> de almacenar me lo guarda de esta forma, por ej: 35.4100 Lo que yo
> quiero
> es que sólo me guarde con 2 decimales, como hago eso??, no me digan
> dentro de
> la aplicación xq ya esta para guardar con 2 decimales, pero nada, asi
> que veo
> que es para cambiarlo en el SQL, pero como hacereso??
Respuesta Responder a este mensaje
#8 Salvador Ramos
20/05/2008 - 20:58 | Informe spam
Personalmente no suelo usarlo.

Además he sufrido en ciertas aplicaciones problemas derivados de almacenar
más decimales de los que realmente se necesitan, sobre todo con el tema de
importes, en cuyo caso no recomiendo almacenar más decimales de los que
exige la divisa que se use (habitualmente dos decimales).

Me he encontrado casos de descuadres, que por supuesto no achaco
concretamente al uso de los 4 decimales, sino a este uso unido a pequeños
errores a la hora de hacer redondeos para almacenar los datos y otros
pequeños fallos de programación.

Un saludo
Salvador Ramos
Solid Quality Mentors (http://www.solidq.com)

www.helpdna.net (información sobre SQL Server y Microsoft .Net)
Visita mi nuevo blog: www.sqlserversi.com


"Jhonny Vargas P." escribió en el mensaje
news:
Perdón que me meta

Pero opino igual que "don" Gustavo ... mejor dejar que SQL Server almacene
los valores tranquilamente tipo money con 4 decimales...
Cuando quieras "mostrar" o sacar información con un SELECT puedes
formatearlo a 2 decimales... o en tu misma capa de presentación.


Saludos,
Jhonny Vargas P.
http://msmvps.com/jvargas
Santiago de Chile

"RP" escribió en el mensaje de
noticias:
Bueno eso es lo que hago, en la capa de presentación me muestra normal
con
dos decimales, sin problemas, y tb esta restringido el ingreso a solo dos
decimales, pero a la hora de hacer mis reportes, no me generarar
problemas??,
teniendo en cuenta que solo necesito el valor con 2 decimales...

"Gux (MVP)" wrote:

Deje que SQL server almacene tranquilamente los datos de tipo Money con
4
digitos decimales y formatee los valores en la capa de presentación tal
cómo
desee usted visualizar los valores.

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.

Gustavo Larriera, Microsoft MVP
https://mvp.support.microsoft.com/p...o.larriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"RP" wrote:

> Hola que tal, vengo desarrollando una aplicación en Visual Basic 6.0
> con SQL
> Server 2005, lo que pasa es lo siguiente, yo antes desarrollaba
> guardando los
> datos del tipo moneda como float, y ahora a sugerencia de un foro, lo
> que es
> moneda (Soles peruanos) los almaceno como tipo de dato money, pero acá
> va el
> detalle, yo sólo quiero que me guarde con 2 decimales, sim embargo a
> la hora
> de almacenar me lo guarda de esta forma, por ej: 35.4100 Lo que yo
> quiero
> es que sólo me guarde con 2 decimales, como hago eso??, no me digan
> dentro de
> la aplicación xq ya esta para guardar con 2 decimales, pero nada, asi
> que veo
> que es para cambiarlo en el SQL, pero como hacereso??





Respuesta Responder a este mensaje
#9 Alfredo Novoa
21/05/2008 - 01:03 | Informe spam
Hola Salvador,

El Tue, 20 May 2008 20:58:36 +0200, Salvador Ramos escribió:

Personalmente no suelo usarlo.

Además he sufrido en ciertas aplicaciones problemas derivados de almacenar
más decimales de los que realmente se necesitan, sobre todo con el tema de
importes, en cuyo caso no recomiendo almacenar más decimales de los que
exige la divisa que se use (habitualmente dos decimales).



Yo estoy de acuerdo en que si solo necesitas dos decimales es mejor usar un
tipo con solo dos decimales. Como mínimo te ahorras el trabajo del
formateo.


Saludos
Alfredo
Respuesta Responder a este mensaje
#10 Jhonny Vargas P.
21/05/2008 - 16:35 | Informe spam
"Alfredo Novoa" escribió en el mensaje de
noticias:3rslmr8uw02l$

Hola Salvador,

El Tue, 20 May 2008 20:58:36 +0200, Salvador Ramos escribió:

Personalmente no suelo usarlo.

Además he sufrido en ciertas aplicaciones problemas derivados de
almacenar
más decimales de los que realmente se necesitan, sobre todo con el tema
de
importes, en cuyo caso no recomiendo almacenar más decimales de los que
exige la divisa que se use (habitualmente dos decimales).



Yo estoy de acuerdo en que si solo necesitas dos decimales es mejor usar
un
tipo con solo dos decimales. Como mínimo te ahorras el trabajo del
formateo.




Que tal Alfredo,

Es como el datetime... almacenas lo que necesitas en la fecha, si quieres
usar las horas minutos y segundo... es cosa tuya, en tus aplicaciones sabes
que debes formatear... algo similar para con el money (para mi gusto) puedes
almacenar un valor con 2 decimales perfectamente... también puedes usar
decimal... un varchar jejeje.. en realidad hay muchas formas unas más
optimas que otras...

de todas maneras el tema del problema de descuadres y sumatorias es un dolor
de cabeza enorme cuando pasas de varios decimales a un valor entero...


Saludos,
Jhonny Vargas P.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida