Sobre tipos numericos y char a usar

18/02/2005 - 15:55 por Leopoldo Ramos | Informe spam
Saludos. Estoy comenzando en esto de sql server para ello haciendo un
sistemita sencillo.
1) Quiero saber para digamos almacenar el valor total de una factura con dos
decimales (rango de 1 a 9999999.99), cual es el tipo mas recomendado (money,
numeric, etc) ?

2) Para el caso de datos caracter como el nombre de un proveedor o una nota,
que es mas apropiado un char o un varchar ? En realidad cuando es mejor usar
un varchar que un char ?


Gracias
Leopoldo
Puerto Rico

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
18/02/2005 - 16:13 | Informe spam
Leopoldo,

Mostrar la cita
Si lo que vas a almacenar en ese campo son valores monetarios, entonces usa
MONEY. Hay algunas aplicaciones que usan NUMERIC pero son casos especificos
que requieren una precision mas alla del cuarto digito decimal (MONEY solo
soporta 4), como son casas de cambios, bolsa de valores, etc. Me he
encontrado el caso, de aplicaciones CRM de compañias bien conocidas, que usan
FLOAT, pero ojo, este tipo de datos es aproximado y sql server no garantiza
que el valor insertado en la tabla sea el mismo cuando se consulte,
especialmente los terminados .3, .6, y .7.

Mostrar la cita
Depende, si los valores a guardar son variables, es decir difieren en
longitud el uno del otro, o si la mayoria de las filas a insertar tendrian
valor NULL en esa columna, entonces es mejor usar VARCHAR para ahorrar
espacio en disco. Si la longitud de los valores sera aproximadamente la misma
y la posibilidad de contener valor NULL es minima, entonces CHAR sera
preferible.

Si tu aplicacion trabajara con caracteres multi lenguaje, entonces considera
la posibilidad de usar NCHAR / NVARCHAR. Si la longitud o tamaño de la nota
puede ser mayor a 8000 caracteres, entonces tendras que usar TEXT / NTEXT.


AMB

"Leopoldo Ramos" wrote:

Mostrar la cita
#2 Salvador Ramos
18/02/2005 - 16:43 | Informe spam
Hola:

Discrepo contigo en el punto 1). Personalmente, siempre utilizo
numeric/decimal para almacenar importes en cualquier divisa, con los
decimales que necesite (habitualmente 2). El tipo money al llevar 4
decimales puede ocasionar problemas con los decimales. Yo suelo guardar los
importes en dos decimales (en mi caso porque la divisa es euro y sólo
utilizo esa), ya calculados y redondeados.

Un saludo
Salvador Ramos
Murcia - España
[Microsoft MVP SQL Server]
www.helpdna.net (información sobre SQL server, Windows DNA y .NET)

"Alejandro Mesa" escribió en el
mensaje news:
Mostrar la cita
#3 Leopoldo Ramos
18/02/2005 - 16:46 | Informe spam
Bueno mejor explicación de ahí se daña :)

Muchisimas gracias, Alejandro.



"Alejandro Mesa" wrote in message
news:
Mostrar la cita
dos
Mostrar la cita
(money,
Mostrar la cita
usa
Mostrar la cita
especificos
Mostrar la cita
usan
Mostrar la cita
garantiza
Mostrar la cita
nota,
Mostrar la cita
usar
Mostrar la cita
misma
Mostrar la cita
considera
Mostrar la cita
nota
Mostrar la cita
dos
Mostrar la cita
(money,
Mostrar la cita
nota,
Mostrar la cita
usar
Mostrar la cita
#4 Alejandro Mesa
18/02/2005 - 19:17 | Informe spam
Salvador Ramos,

Mostrar la cita
Estas en todo tu derecho.

No siempre los calculos monetarios dan como resultado un numero con dos
decimales y muchas veces un digito a la derecha hace la diferencia. Mi punto
es, que depende de cuan estricto se quiera ser con los calculos monetarios
para entonces escojer el uno o el otro, o incluso el mismo tipo DECIMAL pero
con mas o menos digitos en la parte decimal.

Si este calculo no fuera tan importante en un banco, inmaginate cuanto
dinero se pudiera acumular, al cabo de 100 años, quitando 0.001 del interes a
acreditar a cada cuenta.


AMB

"Salvador Ramos" wrote:

Mostrar la cita
#5 ulises
18/02/2005 - 22:49 | Informe spam
Al igual que Salvador prefiero manejar los valores monetarios con dos
decimales, si bien es cierto cuando dices que los cálculos pueden
tener más de dos decimales, tambien es cierto que los valores
monetarios deben ser redondeados a la mínima expresión de la divisa
determinada por el ente rector del país (que de las monedas que
conozco siempre ha sido 2).

Saludos,
Ulises
PD. En los bancos que conozco los importes de los intereses son
redondeados a dos decimales ... :)


On Fri, 18 Feb 2005 10:17:01 -0800, "Alejandro Mesa"
wrote:

Mostrar la cita
Ads by Google
Search Busqueda sugerida