DataTypes do SQL Server com exemplos: Varchar, Numeric, DateTime em SQL

O que é tipo de dados?

PARA Tipo de dados no Servidor SQL é definido como o tipo de dados que qualquer coluna ou variável pode armazenar. É um tipo de dado que um objeto manté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 Dados que armazenará.

Como usar o tipo de dados MS SQL

  • Você precisa definir com antecedência o tipo de dados que uma coluna ou variável pode armazenar. A determinação do tipo de dados também restringe o usuário de inserir quaisquer 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.
  • O 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.

Neste tutorial, você aprenderá tipos de dados MS SQL com exemplos:

Por que usar DataTypes?

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

Aqui devemos observar que em tempo real:

  • 'Primeiro sobrenome' sempre será alfabético .
  • 'Contato' sempre será numérico .

  • Da imagem acima vale a pena definir 'Primeiro sobrenome' tenha um personagem e ' Contato' como um inteiro .

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

Além disso, observe que tipos de dados diferentes têm requisitos de memória diferentes. Portanto, faz mais sentido definir a coluna ou variável com o tipo de dados que ela conterá para o 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:

O servidor MS SQL suporta as seguintes categorias de tipo de dados:

  • Exatamente numérico
  • Numérico aproximado
  • Data e hora
  • Cadeias de caracteres
  • Strings de caracteres Unicode
  • Strings binárias
  • Outros tipos de dados

Tipos de dados MS SQL

Tipos de dados numéricos exatos em SQL

Numérico exato tem nove tipos de subtipos de dados no servidor SQL. Tipos de dados numéricos exatos

Tipo de dados Descrição Limite inferior Limite superior Memória
bigintEle armazena números inteiros no intervalo fornecido−2 ^ 63 (−9.223.372, 036.854.775.808)2 ^ 63−1 (−9.223.372, 036.854.775.807) 8 bytes
intEle armazena números inteiros no intervalo fornecido−2 ^ 31 (−2.147, 483.648)2 ^ 31−1 (−2,147, 483,647) 4 bytes
smallintEle armazena números inteiros no intervalo fornecido−2 ^ 15 (−32.767)2 ^ 15 (-32.768) 2 bytes
tinyintEle armazena números inteiros no intervalo fornecido0255 1 byte
pedaçoPode ter valores 0, 1 ou NULL.01 1 byte / coluna de 8 bits
decimalUsado para escala e números de precisão fixa-10 ^ 38 + 110 ^ 381−1 5 a 17 bytes
numéricoUsado para escala e números de precisão fixa-10 ^ 38 + 110 ^ 381−1 5 a 17 bytes
dinheiroDados monetários usados-922.337, 203, 685.477.5808+922.337, 203, 685.477.5807 8 bytes
dinheirinhoDados monetários usados-214.478,3648+214.478.3647 4 bytes

Tipos de dados numéricos exatos no servidor SQL com exemplos:

Consulta:

 DECLARE @Datatype_Int INT = 2 PRINT @Datatype_Int 

Saída: 2

Sintaxe: Decimal (P, S)

Aqui,

  • P é precisão
  • S é escala

Consulta:

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

Saída: 2,31

Tipos de dados numéricos aproximados em SQL

A categoria SQL Approximate Numeric 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
float (n) Usado para um número de precisão flutuante-1,79E + 3081,79E + 308Depende do valor de n7 dígitos
real Usado para um número de precisão flutuante-3,40E + 383,40E + 384 bytes15 dígitos

Syntax: FLOAT [(n)] 

Aqui, n é o número de bits que são usados ​​para armazenar a mantissa do flutuador 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.

Mimos do SQL Server n como um de dois valores possíveis. Se 1<=n<=24, n is treated as 24. If 25<=n<=53, n is treated as 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

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
Data hora 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 bytesArredondado para incrementos de 0,000, 0,003, 0,0071753-01-019999-12-31
smalldatetime 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 nanossegundos4 bytes, fixo1 minuto01-01-190006/06/2079
encontro Usado para armazenar apenas a data de 1º de janeiro de 0001 a 31 de dezembro de 99993 bytes, fixo1 dia0001-01-019999-12-31
Tempo Usado para armazenar apenas valores de tempo com uma precisão de 100 nanossegundos.5 bytes100 nanossegundos00: 00: 00.000000023: 59: 59,9999999
datetimeoffset Semelhante ao datatime, mas tem um deslocamento de fuso horário10 bytes100 nanossegundos0001-01-019999-12-31
datetime2 Usado para especificar uma data e hora de 1º de janeiro de 0001 a 31 de dezembro de 99996 bytes100 nanossegundos0001-01-019999-12-31

Consulta de exemplo:

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

Saída: '2030-01-01'

Tipos de dados de strings de caracteres em SQL

Esta categoria está relacionada a um tipo de personagem. Ele permite ao usuário definir o tipo de dado do caractere, que pode ser de comprimento fixo e variável. Ele possui quatro tipos de tipos de dados. Abaixo estão os tipos de dados do servidor SQL da cadeia de caracteres com exemplos. Tipos de dados de strings de caracteres

Tipo de dados Descrição Limite inferior Limite superior Memória
Caracteres É uma string de caracteres com largura fixa. Ele armazena no máximo 8.000 caracteres.0 caracteres8000 caracteresn bytes
varchar Esta é uma string de caracteres com largura variável0 caracteres8000 caracteresn bytes + 2 bytes
varchar (max) Esta é uma string de caracteres com largura variável. Ele armazena no máximo 1.073.741.824 caracteres.0 caracteres2 ^ 31 caracteresn bytes + 2 bytes
texto Esta é uma string de caracteres com largura variável. Ele armazena no máximo 2 GB de dados de texto.0 caracteres2.147.483.647 caracteresn 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 do caractere

Tipos de dados de strings de caracteres Unicode em SQL

Esta categoria armazena toda a gama de caracteres Unicode que usam a codificação de caracteres UTF-16. Tipos de dados de string de caracteres Unicode

Tipo de dados Descrição Limite inferior Limite superior Memória
nchar É uma string Unicode de largura fixa0 caracteres4000 caracteres2 vezes n bytes
nvarchar É uma string Unicode de largura variável0 caracteres4000 caracteres2 vezes n bytes + 2 bytes
ntext É uma string Unicode de largura variável0 caracteres1.073.741.823 char2 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árias em SQL

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

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 bytes8000 bytesn bytes
varbinary Esta é uma string binária de largura variável. Ele armazena no máximo 8.000 bytes0 bytes8000 bytesO 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 bytes2.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 de servidor SQL diferentes 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 A versão carimba as linhas da tabela.
Hierárquico Este tipo de dados representa uma posição na hierarquia
Identificador único Conversão de uma expressão de personagem.
Sql_variant Ele armazena valores de tipos de dados suportados pelo servidor SQL.
XML Ele armazena dados XML em uma coluna.
Tipo de geometria espacial Ele representa dados em um sistema de coordenadas simples.
Tipo de geografia espacial Ele representa dados no sistema de coordenadas de terra redonda.
tabela Ele armazena um conjunto de resultados para processamento posterior.

Fatos interessantes!

  • O tipo de dados CHAR é mais rápido do que o tipo de dados SQL VARCHAR ao recuperar dados.

Resumo:

  • Cada coluna nas tabelas é definida com 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 tipos e tamanhos de dados do SQL server disponíveis.