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.
- 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
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!
- 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.