¿Qué es el tipo de datos?
Un tipo de datos se define como el tipo de datos que cualquier columna o variable puede almacenar en MS SQL Server.
Al crear cualquier tabla o variable, además de especificar el nombre, también establece el Tipo de datos que almacenará.
Cómo utilizar el tipo de datos MS SQL
- Debe definir de antemano el tipo de datos que puede almacenar una columna o variable. La determinación del tipo de datos también impide que el usuario ingrese datos inesperados o no válidos.
- Puede hacer un uso eficiente de la memoria asignando un tipo de datos apropiado a la variable o columna que asignará solo la cantidad requerida de memoria del sistema para los datos de la columna correspondiente.
- MS SQL ofrece una amplia categoría del tipo de datos según las necesidades del usuario. Como fecha, imágenes binarias, etc.
En este tutorial, aprenderá:
- ¿Qué es el tipo de datos?
- Cómo utilizar el tipo de datos MS SQL
- ¿Por qué utilizar DataTypes?
- Numérico exacto
- Numérico aproximado
- Fecha y hora
- Cadenas de caracteres
- Cadenas de caracteres Unicode
- Cadena binaria
- Otros tipos de datos
¿Por qué utilizar DataTypes?
Tomemos una muestra de la página de registro simple de la aplicación del sitio web. Tres campos de entrada son Nombre, Apellido y Número de contacto.
Aquí debemos tener en cuenta que en tiempo real:
- "Nombre / Apellido" siempre será alfabético .
- "Contacto" siempre será numérico .
- De la imagen de arriba, vale la pena definir "Nombre / Apellido" como un carácter y " Contacto" como un número entero .
Es evidente que en cualquier aplicación, todos los campos tienen uno u otro tipo de datos. Por ejemplo, numérico, alfabético, fecha y muchos más.
Además, tenga en cuenta que los diferentes tipos de datos tienen diferentes requisitos de memoria. Por lo tanto, tiene más sentido definir la columna o variable con el tipo de datos que contendrá para un uso eficiente de la memoria.
Tipo de datos disponible en MS SQL
El servidor MS SQL admite las siguientes categorías de tipo de datos:
- Numérico exacto
- Numérico aproximado
- Fecha y hora
- Cadenas de caracteres
- Cadenas de caracteres Unicode
- Cadenas binarias
- Otros tipos de datos
Numérico exacto
Numérico exacto tiene nueve tipos de sub-tipos de datos. Tipos de datos numéricos exactos
Tipo de datos | Descripción | Límite inferior | Limite superior | Memoria |
---|---|---|---|---|
Empezando | Almacena números enteros en el rango dado | −2 63 (−9,223,372, 036,854,775,808) | 2 63−1 (−9,223,372, 036,854,775,807) | 8 bytes |
En t | Almacena números enteros en el rango dado | −2 31 (−2,147, 483,648) | 2 31−1 (−2,147, 483,647) | 4 bytes |
pequeño | Almacena números enteros en el rango dado | −2 15 (−32,767) | 2 15 (−32,768) | 2 bytes |
diminuto | Almacena números enteros en el rango dado | 0 | 255 | 1 byte |
un poco | Puede tomar valores 0, 1 o NULL. | 0 | 1 | Columna de 1 byte / 8 bits |
decimal | Se utiliza para escalas y números de precisión fija. | −10 38 + 1 | 10 381−1 | 5 a 17 bytes |
numérico | Se utiliza para escalas y números de precisión fija. | −10 38 + 1 | 10 381−1 | 5 a 17 bytes |
dinero | Datos monetarios usados | −922,337, 203, 685,477.5808 | +922,337, 203, 685,477.5807 | 8 bytes |
poco dinero | Datos monetarios usados | −214,478.3648 | +214,478.3647 | 4 bytes |
Ejemplos:
Consulta:
DECLARE @Datatype_Int INT = 2PRINT @Datatype_Int
Salida: 2
Sintaxis: decimal (P, S)
Aquí,
- P es precisión
- S es escala
Consulta:
DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31PRINT @Datatype_Decimal
Salida: 2,31
Numérico aproximado
La categoría numérica aproximada incluye valores reales y de coma flotante. Se utilizan principalmente en cálculos científicos. Tipo de datos numérico aproximado
Tipo de datos | Descripción | Límite inferior | Limite superior | Memoria | Precisión |
---|---|---|---|---|---|
flotar (n) | Utilizado para un número de precisión flotante | −1,79E + 308 | 1,79E + 308 | Depende del valor de n | 7 dígitos |
verdadero | Utilizado para un número de precisión flotante | −3,40E + 38 | 3.40E + 38 | 4 bytes | 15 dígitos |
Syntax: FLOAT [(n)]
Aquí, n es el número de bits que se utilizan para almacenar la mantisa del número flotante en notación científica. Por defecto, el valor de n es 53.
Cuando el usuario define un tipo de datos como float, n debe ser un valor entre 1 y 53.
SQL Server trata n como uno de dos valores posibles. Si 1 <= n <= 24, n se trata como 24. Si 25 <= n <= 53, n se trata como 53.
Consulta de ejemplo:
DECLARE @Datatype_Float FLOAT(24) = 22.1234PRINT @Datatype_Float
Salida: 22,1234
Fecha y hora
Almacena datos de tipo Fecha y hora. Tipo de datos de fecha y hora
Tipo de datos | Descripción | Tamaño de almacenamiento | Precisión | Rango inferior | Rango superior |
---|---|---|---|---|---|
Fecha y hora | Se utiliza para especificar una fecha y hora desde el 1 de enero de 1753 hasta el 31 de diciembre de 9999. Tiene una precisión de 3,33 milisegundos. | 8 bytes | Redondeado a incrementos de .000, .003, .007 | 1753-01-01 | 9999-12-31 |
pequeña fecha y hora | Se utiliza para especificar una fecha y hora desde el 1 de enero de 0001 hasta el 31 de diciembre de 9999. Tiene una precisión de 100 nanosegundos. | 4 bytes, fijo | 1 minuto | 1900-01-01 | 2079-06-06 |
fecha | Se usa para almacenar solo la fecha desde el 1 de enero de 0001 hasta el 31 de diciembre de 9999 | 3 bytes, fijo | 1 día | 0001-01-01 | 9999-12-31 |
hora | Se utiliza para almacenar solo valores de tiempo con una precisión de 100 nanosegundos. | 5 bytes | 100 nanosegundos | 00: 00: 00.0000000 | 23: 59: 59.9999999 |
datetimeoffset | Similar a datatime pero tiene un desplazamiento de zona horaria | 10 bytes | 100 nanosegundos | 0001-01-01 | 9999-12-31 |
datetime2 | Se utiliza para especificar una fecha y hora desde el 1 de enero de 0001 hasta el 31 de diciembre de 9999. | 6 bytes | 100 nanosegundos | 0001-01-01 | 9999-12-31 |
Consulta de ejemplo:
DECLARE @Datatype_Date DATE = '2030-01-01'PRINT @Datatype_Date
Salida: '2030-01-01'
Cadenas de caracteres
Esta categoría está relacionada con un tipo de carácter. Permite al usuario definir el tipo de dato de carácter que puede ser de longitud fija y variable. Tiene cuatro tipos de tipos de datos. Tipos de datos de cadenas de caracteres
Tipo de datos | Descripción | Límite inferior | Limite superior | Memoria |
---|---|---|---|---|
carbonizarse | Es una cadena de caracteres con un ancho fijo. Almacena un máximo de 8.000 caracteres. | 0 caracteres | 8000 caracteres | n bytes |
varchar | Esta es una cadena de caracteres con ancho variable | 0 caracteres | 8000 caracteres | n bytes + 2 bytes |
varchar (máx.) | Esta es una cadena de caracteres con un ancho variable. Almacena un máximo de 1.073.741.824 caracteres. | 0 caracteres | 2 31 caracteres | n bytes + 2 bytes |
texto | Esta es una cadena de caracteres con un ancho variable. Almacena un máximo de 2 GB de datos de texto. | 0 caracteres | 2,147,483,647 caracteres | n bytes + 4 bytes |
Consulta de ejemplo:
DECLARE @Datatype_Char VARCHAR(30) = 'This is Character Datatype'PRINT @Datatype_Char
Salida: este es el tipo de datos de caracteres
Cadenas de caracteres Unicode
Esta categoría almacena la gama completa de caracteres Unicode que utiliza la codificación de caracteres UTF-16. Tipos de datos de cadena de caracteres Unicode
Tipo de datos | Descripción | Límite inferior | Limite superior | Memoria |
---|---|---|---|---|
nchar | Es una cadena Unicode de ancho fijo. | 0 caracteres | 4000 caracteres | 2 veces n bytes |
nvarchar | Es una cadena Unicode de ancho variable. | 0 caracteres | 4000 caracteres | 2 veces n bytes + 2 bytes |
ntext | Es una cadena Unicode de ancho variable. | 0 caracteres | 1.073.741.823 caracteres | 2 veces la longitud de la cuerda |
Consulta de ejemplo:
DECLARE @Datatype_nChar VARCHAR(30) = 'This is nCharacter Datatype'PRINT @Datatype_nChar
Salida: Este es el tipo de datos nCharacter
Cadena binaria
Esta categoría contiene una cadena binaria de longitud fija y variable. Tipos de datos de cadena binaria
Tipo de datos | Descripción | Límite inferior | Limite superior | Memoria |
---|---|---|---|---|
binario | Es una cadena binaria de ancho fijo. Almacena un máximo de 8.000 bytes. | 0 bytes | 8000 bytes | n bytes |
varbinary | Esta es una cadena binaria de ancho variable. Almacena un máximo de 8.000 bytes | 0 bytes | 8000 bytes | La longitud real de los datos ingresados + 2 bytes |
imagen | Esta es una cadena binaria de ancho variable. Almacena un máximo de 2GB. | 0 bytes | 2,147,483,647 bytes |
Consulta de ejemplo:
DECLARE @Datatype_Binary BINARY(2) = 12;PRINT @Datatype_Binary
Salida: 0x000C
Otros tipos de datos
Estos son otros tipos de datos diferentes con la descripción a continuación:
Tipo de datos | Descripción |
---|---|
Cursor | Su salida es una columna de sp_cursor_list y sp_describe_cursor. Devuelve el nombre de la variable del cursor. |
Versión de fila | Se imprime la versión de las filas de la tabla. |
Hierarchyid | Este tipo de datos representa una posición en la jerarquía. |
Identificador único | Conversión de una expresión de carácter. |
Sql_variant | Almacena valores de tipos de datos compatibles con el servidor SQL. |
XML | Almacena datos XML en una columna. |
Tipo de geometría espacial | Representa datos en un sistema de coordenadas plano. |
Tipo de geografía espacial | Representa datos en el sistema de coordenadas de la tierra redonda. |
mesa | Almacena un conjunto de resultados para su posterior procesamiento. |
¡Datos interesantes!
- El tipo de datos CHAR es más rápido que VARCHAR al recuperar datos.
Resumen:
- Cada columna de las tablas se define con su tipo de datos durante la creación de la tabla.
- Hay seis categorías principales y otra categoría miscelánea. Otros varios tienen nueve subcategorías de tipos de datos disponibles.