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
tua escola 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!

  • Tipo de dados CHAR รฉ mais rรกpido que o tipo de dados SQL VARCHAR ao recuperar dados.

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.

Resuma esta postagem com: