Tipos de dados do SQL Server com exemplos

O que é tipo de dados?

A Tipo de dados no SQL Server é definido como o tipo de dados que qualquer coluna ou variável pode armazenar. É um tipo de dado que um objeto contém como inteiro, caractere, string, etc. Ao criar qualquer tabela ou variável, além de especificar o nome, você também define o tipo de dado que ela irá armazenar.

Como usar o tipo de dados MS SQL

  • Você precisa definir antecipadamente o tipo de dados que uma coluna ou variável pode armazenar. A determinação do tipo de dados também impede que o usuário insira dados inesperados ou inválidos.
  • Você pode fazer uso eficiente da memória atribuindo um tipo de dados apropriado à variável ou coluna que alocará apenas a quantidade necessária de memória do sistema para os dados da respectiva coluna.
  • MS SQL oferece uma ampla categoria de tipos de dados básicos em SQL de acordo com as necessidades do usuário, como data, imagens binárias, etc.

Por que usar DataTypes?

Vamos pegar uma amostra simples Página de inscrição do aplicativo do site. Três campos de entrada são Nome, Sobrenome e Número de contato.

Aqui devemos observar que em tempo real:

  • "Primeiro sobrenome" sempre será alfabético.
  • "Contato" sempre será numérico.
Tipos de dados do SQL Server
Exemplo de tipos de dados em MS SQL
  • Pela imagem acima vale a pena definir "Primeiro sobrenome" como um personagem e "Contato" como número inteiro.

É evidente que em qualquer aplicação todos os campos possuem um ou outro tipo de dados. Por exemplo, numérico, alfabético, data e muito mais.

Além disso, observe que tipos de dados diferentes possuem requisitos de memória diferentes. Portanto, faz mais sentido definir a coluna ou variável com o tipo de dados que ele armazenará para uso eficiente da memória.

Tipo de dados disponível no MS SQL Server

Aqui está a lista de tipos de dados do servidor MS SQL:

Servidor MS SQL suporta as seguintes categorias de tipo de dados:

  • Numérico exato
  • Numérico aproximado
  • Data e hora
  • Sequências de caracteres
  • Sequências de caracteres Unicode
  • Sequências binárias
  • Outros tipos de dados
Tipo de dados disponível no MS SQL Server

Tipos de dados MS SQL

Tipos de dados numéricos exatos em SQL

O numérico exato possui nove tipos de subdados no SQL Server.

Tipos de dados numéricos exatos

Tipo de dados Descrição Limite inferior Limite superior Memória
grande Ele armazena números inteiros no intervalo fornecido −2 ^ 63 (−9,223,372) 2^63−1 (−9,223,372, 036,854,775,807) 8 bytes
int Ele armazena números inteiros no intervalo fornecido −2 ^ 31 (−2,147) 2^31−1 (−2,147, 483,647) 4 bytes
smallint Ele armazena números inteiros no intervalo fornecido −2^15 (−32,767) 2 ^ 15 (-32,768) 2 bytes
minúsculo Ele armazena números inteiros no intervalo fornecido 0 255 Byte 1
bocado Pode assumir valores 0, 1 ou NULL. 0 1 Coluna de 1 byte/8 bits
decimal Usado para escala e números de precisão fixa −10^38+1 10^381−1 5 a 17 bytes
numérico Usado para escala e números de precisão fixa −10^38+1 10^381−1 5 a 17 bytes
dinheiro Dados monetários usados -922,337, 203, 685,477.5808 +922,337 8 bytes
dinheiro pequeno Dados monetários usados -214,478.3648 +214,478.3647 4 bytes

Tipos de dados numéricos exatos em Servidor SQL com exemplos:

Inquérito:

DECLARE @Datatype_Int INT = 2
PRINT @Datatype_Int

saída

2

Sintaxe

Decimais (P,S)

Aqui,

  • P é precisão
  • S é escala

Inquérito:

DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31
PRINT @Datatype_Decimal

saída

2.31

Tipos de dados numéricos aproximados em SQL

SQL A categoria Numérica Aproximada inclui ponto flutuante e valores reais. Esses tipos de dados em SQL são usados ​​principalmente em cálculos científicos.

Tipo de dados numéricos aproximados

Tipo de dados Descrição Limite inferior Limite superior Memória Precisão
flutuar (n) Usado para um número de precisão flutuante −1.79E+308 1.79 308 + Depende do valor de n 7 Digit
reais Usado para um número de precisão flutuante −3.40E+38 3.40 38 + 4 bytes 15 Digit
Syntax:  FLOAT [(n)]

Aqui, n é o número de bits usados ​​para armazenar a mantissa do flutuar número em notação científica. Por padrão, o valor de n é 53.

Quando o usuário define um tipo de dados como float, n deve ser um valor entre 1 e 53.

Guloseimas do SQL Server n como um dos dois valores possíveis. Se 1<=n<=24, n será tratado como 24. Se 25<=n<=53, n será tratado como 53.

Consulta de exemplo:

DECLARE @Datatype_Float FLOAT(24) = 22.1234
PRINT @Datatype_Float

saída

22.1234

Tipos de dados de data e hora em SQL

Ele armazena dados do tipo Data e hora.

Tipo de dados de data e hora

Tipo de dados Descrição Tamanho de armazenamento Precisão Faixa inferior Faixa superior
DateTime Usado para especificar uma data e hora de 1º de janeiro de 1753 a 31 de dezembro de 9999. Tem uma precisão de 3.33 milissegundos. 8 bytes Arredondado para incrementos de 000, 003, 007 1753-01-01 9999-12-31
data pequena Usado para especificar uma data e hora de 1º de janeiro de 0001 a 31 de dezembro de 9999. Tem uma precisão de 100 nanossegundos 4 bytes, fixo minutos 1 1900-01-01 2079-06-06
dados Usado para armazenar apenas datas de 1º de janeiro de 0001 a 31 de dezembro de 9999 3 bytes, fixo Dia 1 0001-01-01 9999-12-31
tempo Usado para armazenar apenas valores de tempo com precisão de 100 nanossegundos. 5 bytes 100 nanossegundos 00:00:00.0000000 23:59:59.9999999
deslocamento de data e hora Semelhante ao datatime, mas tem um deslocamento de fuso horário 10 bytes 100 nanossegundos 0001-01-01 9999-12-31
datahora2 Usado para especificar uma data e hora de 1º de janeiro de 0001 a 31 de dezembro de 9999 6 bytes 100 nanossegundos 0001-01-01 9999-12-31

Consulta de exemplo:

DECLARE @Datatype_Date DATE = '2030-01-01'
PRINT @Datatype_Date

saída

'2030-01-01'

Tipos de dados de cadeias de caracteres em SQL

Esta categoria está relacionada a um tipo de caractere. Permite ao usuário definir o tipo de dado do caractere que pode ser de comprimento fixo e variável. Possui quatro tipos de tipos de dados. Abaixo estão os tipos de dados do servidor SQL de cadeia de caracteres com exemplos.

Tipos de dados de cadeias de caracteres

Tipo de dados Descrição Limite inferior Limite superior Memória
carbonizar É uma sequência de caracteres com largura fixa. Ele armazena no máximo 8,000 caracteres. 0 caracteres 8000 caracteres n bytes
varchar Esta é uma sequência de caracteres com largura variável 0 caracteres 8000 caracteres n bytes + 2 bytes
varchar (máx.) Esta é uma sequência de caracteres com largura variável. Ele armazena no máximo 1,073,741,824 caracteres. 0 caracteres 2 ^ 31 caracteres n bytes + 2 bytes
texto Esta é uma sequência de caracteres com largura variável. Ele armazena no máximo 2 GB de dados de texto. 0 caracteres 2,147,483,647 caracteres n bytes + 4 bytes

Consulta de exemplo:

DECLARE @Datatype_Char VARCHAR(30) = 'This is Character Datatype'
PRINT @Datatype_Char

saída

Este é o tipo de dados de caractere

Tipos de dados de cadeias de caracteres Unicode em SQL

Esta categoria armazena toda a gama de caracteres Unicode que usa a codificação de caracteres UTF-16.

Tipos de dados de sequência de caracteres Unicode

Tipo de dados Descrição Limite inferior Limite superior Memória
nchar É uma string Unicode de largura fixa 0 caracteres 4000 caracteres 2 vezes n bytes
nvarchar É uma string unicode de largura variável 0 caracteres 4000 caracteres 2 vezes n bytes + 2 bytes
ntext É uma string unicode de largura variável 0 caracteres 1,073,741,823 caracteres 2 vezes o comprimento da corda

Consulta de exemplo:

DECLARE @Datatype_nChar VARCHAR(30) = 'This is nCharacter Datatype'
PRINT @Datatype_nChar

saída

Este é o tipo de dados nCharacter

Tipos de dados de string binária em SQL

Esta categoria contém uma string binária de comprimento fixo e variável.

Tipos de dados de string binária

Tipo de dados Descrição Limite inferior Limite superior Memória
binário É uma string binária de largura fixa. Ele armazena no máximo 8,000 bytes. 0 bytes 8000 bytes n bytes
varbinário Esta é uma string binária de largura variável. Ele armazena no máximo 8,000 bytes 0 bytes 8000 bytes O comprimento real dos dados inseridos + 2 bytes
imagem Esta é uma string binária de largura variável. Ele armazena no máximo 2 GB. 0 bytes 2,147,483,647 bytes

Consulta de exemplo:

DECLARE @Datatype_Binary BINARY(2) = 12;
PRINT @Datatype_Binary

saída

0x000C

Outros tipos de dados em SQL

Estes são outros tipos de dados diferentes do servidor SQL com a descrição abaixo-

Tipo de dados Descrição
Cursor Sua saída é uma coluna de sp_cursor_list e sp_describe_cursor.
Ele retorna o nome da variável do cursor.
Versão de linha Sua versão carimba as linhas da tabela.
Hierarquia Este tipo de dados representa uma posição na hierarquia
Identificador único Conversão de uma expressão de caractere.
Sql_variant Ele armazena valores de tipos de dados suportados pelo SQL Server.
XML Ele armazena dados XML em uma coluna.
Tipo de geometria espacial Ele representa dados em um sistema de coordenadas planas.
Tipo de Geografia Espacial Ele representa dados no sistema de coordenadas terrestres redondos.
mesa Ele armazena um conjunto de resultados para processamento posterior.

Fatos interessantes!

Resumo

  • Cada coluna nas tabelas define seu tipo de dados durante a criação da tabela.
  • Existem seis categorias principais e uma outra categoria diversa. Outros diversos têm nove subcategorias de Servidor SQL tipos e tamanhos de dados disponíveis.