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