Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/12/2011, 13:36
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: duda de como estoy haciendo las tablas

Hola Halconds:

Tienes que recordar que NUMERIC es un tipo de datos flotante, es decir puede almacenar números decimales... hablar de caracteres cuando se está refiriendo a números puede traer problemas. por ejemplo 11.11 es un número de 4 cifras y 5 caracteres (tomando en cuenta el punto decimal).

Al especificar una escala de 0 (segundo parámetro de numeric) estás especificando que los campos NO VAN A ALMACENAR NÚMEROS DECIMALES). puedes probar este ejemplo:

Código SQL:
Ver original
  1. DECLARE @Tabla TABLE (campo1 NUMERIC(6, 2), campo2 NUMERIC (6, 0))
  2. INSERT INTO @Tabla VALUES (11, 11)
  3. -->Correcto, ninguna cifra contiene decimales
  4. INSERT INTO @Tabla (campo1) VALUES (111111)
  5. -->Error, tiene sólo 4 cifras para la parte entera y 2 para decimales
  6. INSERT INTO @Tabla (campo2) VALUES (111111)
  7. -->Correcto, pues no hay decimales
  8. INSERT INTO @Tabla (campo1) VALUES (1111.11)
  9. -->Correcto, tiene 4 enteros y 2 decimales
  10. INSERT INTO @Tabla (campo2) VALUES (1111.11)
  11. -->No marca errro, pero no almacena la parte decimal
  12. INSERT INTO @Tabla (campo1) VALUES (1111.2222)
  13. -->En la tabla se almacena sólo 2 decimales
  14. SELECT * FROM @Tabla

Debes tener cuidado entonces al momento de diseñar tus tablas de poner el tipo de datos correcto.

Saludos
Leo.