Skip to content

Tipos de datos

En Transact SQL, la elección del tipo de datos adecuado es fundamental para optimizar el rendimiento, asegurar la integridad de los datos y gestionar eficientemente el almacenamiento. A continuación, se detallan los tipos de datos más comunes, clasificados por su naturaleza.


Estos tipos se utilizan para almacenar valores numéricos, desde enteros pequeños hasta números decimales de alta precisión y valores monetarios.

TipoRangoDescripción
Bit0 a 1Un solo bit de información, ideal para valores booleanos.
Tinyint0 a 255Entero de 8 bits sin signo, perfecto para números pequeños y positivos.
SmallInt-32,768 a 32,767Entero de 16 bits con signo.
Int-2,147,483,648 a 2,147,483,647El tipo de entero más común, de 32 bits con signo.
BigInt-9,223,372,036,854,775,808 a 9,223,372,036,854,775,807Entero de 64 bits con signo, para números extremadamente grandes.
Decimal(p, s)Depende de la precisiónNúmeros decimales exactos. p = precisión total (número de dígitos); s = escala (número de dígitos a la derecha del punto decimal).
Float-1.79E+308 a 1.79E+308Valor de coma flotante de precisión doble.
Real-3.40E+38 a 3.40E+38Valor de coma flotante de precisión simple.
Money-922,337,203,685,477.5808 a 922,337,203,685,477.5807Datos monetarios con alta precisión (19 dígitos).
SmallMoney-214,748.3648 a 214,748.3647Datos monetarios con precisión media (10 dígitos).

Todos los datos enteros pueden marcarse con la propiedad IDENTITY para hacerlos autonuméricos, generando valores únicos automáticamente para nuevas filas.


💬 Tipos de Caracteres y Cadenas de Texto

Section titled “💬 Tipos de Caracteres y Cadenas de Texto”

Estos tipos se utilizan para almacenar texto, adaptándose a diferentes requisitos de longitud y codificación (Unicode).

TipoDescripción
char(n)Cadena de caracteres de longitud fija. Ocupa n bytes, rellenando con espacios si la cadena es más corta.
varchar(n)Cadena de caracteres de longitud variable. Almacena hasta n bytes, ocupando solo el espacio necesario.
nchar(n)Cadena de caracteres Unicode de longitud fija. Almacena hasta n caracteres, ideal para datos multilingües.
nvarchar(n)Cadena de caracteres Unicode de longitud variable. Almacena hasta n caracteres, optimizado para multilingües.

Para almacenar información temporal, desde fechas precisas hasta estampas de tiempo.

TipoFormato EjemploDescripción
DatetimeAAAA-MM-DD hh:mm:ss.mmmAlmacena fecha y hora con precisión de milisegundos (3.33ms).
SmallDatetimeAAAA-MM-DD hh:mm:ssAlmacena fecha y hora con una precisión de 1 minuto.
TimeStampAutomáticoNo es una marca de tiempo tradicional; se usa para versionar filas en la base de datos.
El tipo `TimeStamp` en Transact SQL no debe confundirse con los sellos de tiempo de fecha y hora. Es un tipo de datos que expone números binarios generados automáticamente y que garantizan la unicidad dentro de una base de datos.

Para almacenar datos en formato binario, como imágenes, archivos o cualquier otra información no textual.

TipoDescripción
Binary(n)Cadena binaria de longitud fija de hasta 8,000 bytes. Rellena con ceros si es más corta.
Varbinary(n)Cadena binaria de longitud variable con una longitud máxima de 8,000 bytes. Almacena solo el espacio necesario.
Varbinary(max)Cadena binaria de longitud variable con una longitud máxima de 2^31-1 bytes (aproximadamente 2 GB), para grandes objetos.

Tipos de datos específicos para casos de uso avanzados o identificadores únicos.

TipoDescripción
UniqueIdentifierIdentificador Único Global (GUID), un número de 16 bytes que garantiza la unicidad. Se genera con NEWID().
XMLTipo de datos para almacenar documentos XML completos, permitiendo consultas y manipulaciones específicas de XML.