English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tipos de datos SQL Server

Las siguientes secciones describen los tipos de datos admitidos por SQL Server.

Tipos de datos de SQL Server

Los tipos de datos admitidos por Microsoft SQL Server se pueden dividir en tres categorías principales:Cadenas,NúmerosyFecha/TiempoLos tipos de datos.

Los tipos de datos de cadena

Los tipos de datos de cadena se utilizan generalmente para almacenar nombres, direcciones, descripciones o cualquier valor que contenga letras y números, incluyendo datos binarios, como imágenes o archivos de audio.

Tipo de datosDescripción
char(n)almacenar cadenas de longitud fija. La longitud máxima es8,000 caracteres.
varchar(n)almacenar cadenas de longitud variable. La longitud máxima es8,000 caracteres.
varchar(max)almacenar cadenas de longitud variable. Aquí, max indica el tamaño máximo de almacenamiento de2 GB.
textalmacenar cadenas de longitud variable. El tamaño máximo de almacenamiento es2 GB.
ncharalmacenar cadenas de caracteres Unicode de longitud fija. La longitud máxima es4,000 caracteres.
nvarcharalmacenar cadenas de caracteres Unicode variables. La longitud máxima es4,000 caracteres.
nvarchar(max)almacenar cadenas de caracteres Unicode variables. Aquí, max indica el tamaño máximo de almacenamiento de2 GB.
ntextalmacenar cadenas de caracteres Unicode variables. El tamaño máximo de almacenamiento es2 GB.
binary(n)almacenar datos binarios de longitud fija. El tamaño máximo de almacenamiento es8,000 bytes.
varbinary(n)Almacena datos binarios de longitud variable. El tamaño máximo de almacenamiento es8,000 bytes.
varbinary(max)Almacena datos binarios de longitud variable. Aquí, max indica que el tamaño máximo de almacenamiento es2 GB.
imageAlmacena datos binarios de longitud variable. El tamaño máximo de almacenamiento es8,000 bytes.

Los tipos de datos numéricos

Los tipos de datos numéricos se utilizan comúnmente para almacenar datos como precios, salarios, etc.

Tipo de datosDescripción
bitpermite almacenar valores1、0 oNULL
tinyintAlmacena valores de 0 a255y
entreAlmacena valores enteros en el rango-32,768hasta32,767int
smallintAlmacena valores enteros en el rango-2,147,483,648hasta2,147,483,647int
bigintAlmacena valores enteros en el rango-9,223,372,036,854,775,808hasta9,223,372,036,854,775,807enteros. Los valores válidos son
decimal(p,s)Almacena precisión fija y número de decimales. Los valores válidos son10 ^38 +1hasta10 ^38-1。Para más detalles,Vea a continuación.
numeric(p,s)El tipo de datos numeric es funcionalmente equivalente a decimal.
smallmoneypermite almacenar valores monetarios o valores monetarios con un rango de-214,748.3648y214,748.3647。
moneypermite almacenar valores monetarios o valores monetarios con un rango de-922,337,203,685,477.5808y922,337,203,685,477.5807。
float(n)Almacena valores de números en coma flotante. Los valores válidos son-1.79E + 308y-2.23E-308、0 y2.23E-308y1.79E + 308。
realAlmacena valores de números en coma flotante. Los valores válidos son-3.40E + 38y-1.18E-38、0 y1.18E-38y3.40E + 38。

al declarar una columna decimal o numeric, se puede especificar la precisión y el número de decimales, como decimal(p, s) o numeric(p, s), donde p o precisión representa el número máximo de dígitos que se pueden almacenar, incluyendo a la izquierda y a la derecha del punto decimal. La precisión debe estar entre1hasta38valores. La precisión predeterminada es18。

mientrasso scale indica el número máximo de dígitos que se pueden almacenar a la derecha del punto decimal. Reste este número de p para determinar el número máximo de dígitos a la izquierda del punto decimal. El número de decimales debe ser un valor entre 0 y p. El valor predeterminado es 0.

Por ejemplo, price decimal(6,2) puede almacenar cualquier valor con seis dígitos y dos decimales, es decir-9999.99hasta9999.99valores entre

El tipo de datos de fecha y hora

El tipo de datos de fecha y hora se utiliza comúnmente para almacenar datos, como la fecha de nacimiento, la fecha de empleo, la fecha y hora en que se crea o actualiza un registro en una tabla, etc.

Tipo de datosDescripción
dateAlmacena valores de fechas con un rango de 0001-01-01(1Mes1día,1mes) hasta
9999-12-31(9999Año12Mes31Día).
timeAlmacena el tiempo del día con precisión100 nanosegundos. Los valores válidos van de 00:00:00.0000000 a23:59:59.9999999。
datetimeAlmacena combinaciones de fechas y horas con precisión3.33milisegundos. El rango de fechas válidas para datetime es desde1753-01-01(1753Año1Mes1Día) hasta9999-12-31(9999Año12Mes31Día).
datetime2

datetime2Es una extensión del tipo de datos datetime, que tiene un rango de fechas más amplio. datetime2El rango de fechas válidas es desde 0001-01-01 (Enero 1, 1) hasta9999-12-31 (Diciembre 31, 9999)。

smalldatetimecon1Valores de fechas y horas combinados con precisión de minutos. El rango de fechas válidas para smalldatetime es desde1900-01-01(1900 años1Mes1Día) hasta
2079-06-06(2079Año6Mes6Día).
datetimeoffsetCon datetime2Agregar el mismo desplazamiento de zona horaria. El formato predeterminado es YYYY-MM-DD hh:mm:ss[.nnnnnnn] [{+|-La gama válida de desplazamiento de zona horaria es-14:00 hasta+14:00。
timestampEn SQL Server, timestamp es sinónimo de tipo de datos rowversion, que genera automáticamente un número binario único en la base de datos. rowversion se utiliza generalmente como marca de versión de las filas de la tabla.

Atención:Cada vez que se inserta o modifica una fila en una tabla que tenga una columna rowversion, el valor incremental de rowversion de la base de datos se inserta en la columna rowversion. Una tabla solo puede tener una columna rowversion.