Tutorial

Páginas: 34 (8352 palabras) Publicado: 12 de diciembre de 2012
18 - Tipo de dato (numérico)
Ya explicamos que al crear una tabla debemos elegir la estructura adecuada, esto es, definir los campos y sus tipos más preci sos,
según el caso.
Para almacenar valores NUMERICOS SQL Server dispone de varios tipos.
Para almacenar valores ENTEROS, por ejemplo, en campos que hacen referencia a cantidades, usamos:
1) integer o int: su rango es de -2000000000 a2000000000 aprox. El tipo "integer" tiene subtipos:
- smallint: Puede contener hasta 5 digitos. Su rango va desde –32000 hasta 32000 aprox.
- tinyint: Puede almacenar valores entre 0 y 255.
- bigint: De –9000000000000000000 hasta 9000000000000000000 aprox.
Para almacenar valores numéricos EXACTOS con decimales, especificando la cantidad de cifras a la izquierda y derec ha del
separador decimal,utilizamos:
2) decimal o numeric (t,d): Pueden tener hasta 38 digitos, guarda un valor exacto. El primer argumento indica el total de díg itos y
el segundo, la cantidad de decimales.
Por ejemplo, si queremos almacenar valores entre -99.99 y 99.99 debemos definir el campo como tipo "decimal(4,2)". Si no se
indica el valor del segundo argumento, por defecto es "0". Por ejemplo, si definimos"decimal(4)" se pueden guardar valores e ntre
-9999 y 9999.
El rango depende de los argumentos, también los bytes que ocupa.
Se utiliza el punto como separador de decimales.
Si ingresamos un valor con más decimales que los permitidos, redondea al más cercano; por ejemplo, si definimos "decimal(4,2) " e
ingresamos el valor "12.686", guardará "12.69", r edondeando hacia arriba; si ingresamos el valor"12.682", guardará "12.67",
r edondeando hacia abajo.
Para almacenar valores numéricos APROXIMADOS con decimales utilizamos:
3) float y real: De 1.79E+308 hasta 1.79E+38. Guarda valores aproximados.
4) real: Desde 3.40E+308 hasta 3.40E+38. Guarda valores aproximados.
Para almacenar valores MONETARIOS empleamos:
5) money: Puede tener hasta 19 digitos y sólo 4 de ellos puede ir luego delseparador decimal; entre –900000000000000.5808
aprox y 900000000000000.5807.
6) smallmoney: Entre –200000.3648 y 200000.3647 aprox.
Para todos los tipos numéricos:
- si intentamos ingresar un valor fuera de rango, no lo permite.
- si ingresamos una cadena, SQL Server intenta convertirla a valor numérico, si dicha cadena consta solamente de dígitos, la
conversión se realiza, luego verifica siestá dentro del rango, si es así, la ingresa, sino, muestra un mensaje de error y no ejecuta
la sentencia. Si la cadena contiene caracteres que SQL Server no puede convertir a valor numérico, muestra un mensaje de error y
la sentencia no se ejecuta.
Por ejemplo, definimos un campo de tipo decimal(5,2), si ingresamos la cadena '12.22', la convierte al valor numérico 12.22 y la
ingresa; siintentamos ingresar la cadena '1234.56', la convierte al v alor numérico 1234.56, pero como el máximo valor permitido
es 999.99, muestra un mensaje indicando que está fuera de rango. Si intentamos ingresar el valor '12y.25', SQL Server no pued e
r ealizar la conversión y muestra un mensaje de error.
Es importante elegir el tipo de dato adecuado según el caso, el más preciso. Por ejemplo, si un camponumérico almacenará
v alores positivos menores a 255, el tipo "int" no es el más adecuado, conviene el tipo "tinyint", de esta manera usamos el me nor
espacio de almacenamiento posible.
Si vamos a guardar valores monetarios menores a 200000 conviene emplear "smallmoney" en lugar de "money".
Tipo
Bytes de almacenamiento
_______________________________________
int
4
smallint 2
tinyint
1bigint
8

decimal

2 a 17

float
real

4u8
4u8

money
smallmoney 4

8

19 - Tipo de dato (fecha y hora)
Ya explicamos que al crear una tabla debemos elegir la estructura adecuada, esto es, definir los campos y sus tipos más preci sos,
según el caso.
Para almacenar valores de tipo FECHA Y HORA SQL Server dispone de dos tipos:
1) datetime: puede almacenar valores desde 01 de...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • tutorial
  • Tutorial
  • Tutorial
  • tutorial
  • tutorial
  • Tutorial
  • Tutoriales
  • Tutorial

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS