Referencia: Tipos de datos en SQL Server
Numéricos exactos
| Tipo | Descripción | Rango / Capacidad |
|---|
| bigint | Para valores enteros que exceden el rango de int. | -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807 |
| int | Enteros estándar. | -2,147,483,648 a 2,147,483,647 |
| smallint | Enteros pequeños (2 bytes). | -32,768 a 32,767 |
| tinyint | Enteros muy pequeños (1 byte). Eficiente pero limitado. | 0 a 255 |
| decimal | Números con precisión y escala fijas. | Precisión: 1–38, almacenamiento: 5–17 bytes |
| numeric | Sinónimo funcional de DECIMAL. | Igual que DECIMAL |
| money | Valores monetarios (8 bytes). | -922,337,203,685,477.5808 a 922,337,203,685,477.5807 |
| smallmoney | Valores monetarios pequeños (4 bytes). | -214,748.3648 a 214,748.3647 |
| bit | Almacena 0 (FALSO), 1 (VERDADERO) o NULL. Similar a boolean. | 0, 1 o NULL |
Numéricos aproximados
| Tipo | Descripción | Tamaño | Precisión |
|---|
| float | Números aproximados de coma flotante | 4-8 bytes | n = 1-53 (53 por defecto) |
| real | Números aproximados de coma flotante | 4 bytes | Equivalente a FLOAT(24) |
Fecha y hora
| Tipo | Descripción | Formato por defecto | Características clave |
|---|
| date | Almacena una fecha | YYYY-MM-DD | Formato modificable con máscaras |
| time | Almacena una hora | hh:mm:ss[.nnnnnnn] | Incluye fracciones de segundo opcionales |
| smalldatetime | Almacena fecha y hora sin fracciones de segundo | YYYY-MM-DD hh:mm:ss | Segundos siempre en :00 |
| datetime | Almacena fecha y hora con fracciones de segundo | YYYY-MM-DD hh:mm:ss[.nnn] | Formato modificable con máscaras |
| datetime2 | Almacena fecha y hora con mayor rango y precisión que DATETIME | YYYY-MM-DD hh:mm:ss[.nnnnnnn] | Mayor precisión que datetime, formato modificable |
| datetimeoffset | Almacena fecha y hora con zona horaria UTC | YYYY-MM-DD hh:mm:ss[.nnnnnnn] [+|-]hh:mm | Incluye offset de zona horaria, reconocimiento UTC |
Cadenas de caracteres
| Tipo | Descripción | Tamaño / Capacidad | Características clave |
|---|
| char | Almacenamiento de caracteres alfanuméricos de tamaño fijo | CHAR(n), n = 1 a 8000 caracteres | Siempre ocupa el espacio definido, incluso si la cadena es más corta |
| varchar | Almacenamiento de caracteres alfanuméricos de tamaño variable | VARCHAR(n), n = 1 a 8000 caracteres | Ocupa solo el espacio necesario según la longitud real de la cadena |
| text | Almacenamiento de valores de gran tamaño de longitud variable o fija | Hasta 2,147,483,647 bytes (2 GB) | Para textos muy largos, no Unicode |
Cadenas de caracteres Unicode
| Tipo | Descripción | Tamaño / Capacidad |
|---|
| nchar | Para el almacenamiento de caracteres alfanuméricos de tamaño fijo. | NCHAR(n), n = 1 a 4000 caracteres |
| nvarchar | Para el almacenamiento de caracteres alfanuméricos de tamaño variable. | NVARCHAR(n), n = 1 a 4000 caracteres |
| ntext | Para el almacenamiento de valores de gran tamaño Unicode de longitud variable o fija. | Hasta 1,073,741,823 bytes (1 GB) |
Cadenas binarias
| Tipo | Descripción | Tamaño / Capacidad |
|---|
| binary | Para el almacenamiento de datos binarios de longitud fija. | BINARY(n), n = 1 a 8000 bytes |
| varbinary | Para el almacenamiento de datos binarios de longitud variable. | VARBINARY(n), n = 1 a 8000 bytes |
| image | Para el almacenamiento de datos binarios de longitud variable de gran tamaño. | Hasta 2,147,483,647 bytes (2 GB) |
| | |
Otros tipos de datos
| Tipo de dato | Descripción | Características principales |
|---|
| cursor | Para recorrer registros y resultados de una consulta | Permite procesar filas de un SELECT una por una |
| rowversion | Números binarios generados automáticamente para versionado de filas | Se actualiza automáticamente con cada modificación |
| hierarchyid | Para representar la posición en una jerarquía de árbol | Permite modelar estructuras jerárquicas |
| uniqueidentifier | Para almacenar identificadores únicos globales (GUID) | 16 bytes, valores únicos globales |
| sql_variant | Para almacenar valores de varios tipos de datos admitidos en SQL Server | Puede contener cualquier tipo de dato excepto text, ntext, image, etc. |
| xml | Para almacenar datos XML | Permite validación con esquemas XSD, consultas XQuery |
| table | Para almacenar temporalmente un conjunto de filas | Usado en funciones y procedimientos para retornar conjuntos de resultados |
| geometry | Para almacenar datos espaciales planares en sistema de coordenadas euclídeo | Representa puntos, líneas, polígonos en un plano 2D |
| geography | Para almacenar datos espaciales elipsoidales (latitud/longitud) | Representa datos GPS en la superficie terrestre |