Tipos de datos de SQL Server: Varchar, numérico, fecha y hora (ejemplos de T-SQL)

Tabla de contenido:

Anonim

¿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
Tipos de datos MSQL

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.