Acerca de

Este es un blog dedicado a aprender y compartir nuestro conocimiento con la herramienta de SQL Server, cualquier duda no duden en comentarle tratare de responderla lo mas pronto posible.

SQL Server 2012

SQL Server 2012

viernes, 6 de junio de 2014

Tipos de Datos en SQL Server

Otro factor importante a tener en cuenta al trabajar con SQL Server es conocer los tipos de datos que podemos usar, por eso les presente este breve resumen.

Los tipos de datos en SQL Server, se pueden dividir en las siguientes categorías: 
  • Numéricos exactos
  • Numéricos aproximados
  • Fecha y hora
  • Cadenas de caracteres
  • Cadenas de caracteres Unicode
  • Cadenas binarias
  • Otros tipos de datos
Nota: La elección del tipo de dato a usar, depende del análisis que se haga de los requerimientos.
ej: para un DNI podrías usar un char(8), pero si el numero de documento no es solo para DNI(Documento de Identidad del Perú), es decir si puede incluir número de pasaporte, puedes usar un varchar(11).

Numéricos exactos
  • bigint: De -2^63 (-9.223.372.036.854.775.808) a 2^63-1 (9.223.372.036.854.775.807)
  • int: De -2^31 (-2.147.483.648) a 2^31-1 (2.147.483.647)
  • smallint: De -2^15 (-32.768) a 2^15-1 (32.767)
  • tinyint: De 0 a 255
  • decimal: De - 10^38 +1 y 10^38 - 1   
  • numeric: De - 10^38 +1 y 10^38 - 1  
  • bit1, 0 o NULL
  • money: De -922,337,203,685,477.5808 a 922,337,203,685,477.5807
  • smallmoney: De - 214.748,3648 a 214.748,3647
Nota: decimal y numeric son factibles a indicarles una precisión y una escala, la precisión es la cantidad de dígitos o números a aceptar contando tanto los que van antes y después de la coma decimal, el valor predeterminado es 18 y se puede establecer entre 1 y 38, y la escala indica la cantidad de dígitos a usar a la derecha del separador decimal y tiene que ser un valor entre 0 y el valor de precisión que se haya establecido.
Ej: decimal(11,6): nos indica que el valor tendrá 11 dígitos en total, 6 de los cuales se encuentran a la derecha del separador y los 5 restantes a la izquierda (12345,123456).

Numéricos aproximados
  • float*: De - 1,79E+308 a -2,23E-308, 0 y de 2,23E-308 a 1,79E+308
  • real*: De - 3,40E + 38 a -1,18E - 38, 0 y de 1,18E - 38 a 3,40E + 38
Nota:  float y real se les puede especificar el número de bits que se usaran para almacenar, si el valor es de 1-24, tendrá una precisión de 7 dígitos y si es de 25-53, tendrá una precisión de 15 dígitos.

Fecha y hora
  • date: formato AAAA-MM-DD
  • datetime: AAAA-MM-DD hh:mm:ss[.fracciones de segundos]
  • datetime2: AAAA-MM-DD hh:mm:ss[.fracciones de segundos]
  • datetimeoffset: AAAA-MM-DD hh:mm:ss[. nnnnnnn] [{+|-}hh:mm]
  • smalldatetime: AAAA-MM-DD hh:mm:ss
  • time*: hh:mm:ss[. nnnnnnn]
Nota: AAAA (Año), MM (Mes), DD (Día), hh (hora), mm (minutos), ss (segundos), nnnnnnn (fracciones de segundos), en el caso del datetime usa 3 fracciones y en el datetime2 se le indica la cantidad datetime2(n) donde n puede ser del 1 al 7, en datetimeoffset se puede indicar la variación en horas según ubicación geográfica entre -14 a +14 horas.

Cadenas de caracteres
  • char: De 1 a 8000 caracteres 
  • varchar: De 1 a 8000 caracteres 
  • text: 2^31-1 (2.147.483.647)

Nota: char lo puedes usar cuando la cantidad de caracteres es exacta y varchar cuando es variable.

Cadenas de caracteres Unicode
  • nchar: De 1 a 4000 caracteres Unicode
  • nvarchar: De 1 a 4000 caracteres Unicode
  • ntext: 2^30 - 1 (1.073.741.823) caracteres Unicode
Nota: con nchar y nvarchar se cumple lo mismos que con char y varchar..

Cadenas binarias

  • binary: De 1 a 8000 caracteres Binarios
  • varbinary: De 1 a 8000 caracteres Binarios
  • image: De 0 hasta 2^31-1 (2.147.483.647) caracteres Binarios
Nota: con binaryvarbinaryse cumple lo mismos que con char y varchar..

Otros tipos de datos


  • cursor
  • timestamp
  • hierarchyid
  • uniqueidentifier
  • sql_variant
  • xml
  • tabla
  • tipos espaciales
Puedes obtener mas información  as clic http://msdn.microsoft.com/es-es/library/ms187752.aspx

Si te Gusto la explicación dale +1

No hay comentarios:

Publicar un comentario