domingo, 22 de dezembro de 2019

SQL - Tipos de Dados


4.3 Tipos de Dados SQL 

Abaixo segue uma relação dos tipos de dados básicos do SQL Server, sendo que os tipos que estiverem marcados com * somente funcionam a partir do SQL Server 2000 


• TINYINT: 
Valores numéricos inteiros variando de 0 até 256 


• SMALLINT: 
Valores numéricos inteiros variando de –32.768 até 32.767 


• INT: 
Valores numéricos inteiros variando de -2.147.483.648 até 2.147.483.647 

• BIGINT:
Valores numéricos inteiros variando de -92.23.372.036.854.775.808 até 9.223.372.036.854.775.807 


• BIT: 
Somente pode assumir os valores 0 ou 1. Utilizado para armazenar valores lógicos. 


• DECIMAL(I,D) e NUMERIC(I,D): Armazenam valores numéricos inteiros com casas decimais utilizando precisão. onde:
I - deve ser substituído pela quantidade de dígitos total do número 
D - deve ser substituído pela quantidade de dígitos da parte decimal (após a vírgula). 

DECIMAL e NUMERIC possuem a mesma funcionalidade, porém DECIMAL faz parte do padrão ANSI e NUMERIC é mantido por compatibilidade. 

Por exemplo, DECIMAL(8,2) armazena valores numéricos decimais variando de – 999999,99 até 999999,99 

* Lembrando sempre que o SQL Server internamente armazena o separador decimal como ponto (.) e o separador de milhar como vírgula (,). Essas configurações INDEPENDEM de como o Windows está configurado no painel de controle e para DECIMAL E NUMERIC, somente o separador decimal (.) é armazenado. 


• SMALLMONEY: 
Valores numéricos decimais variando de -214.748,3648 até 214.748,3647 


• MONEY:
Valores numéricos decimais variando de -922.337.203.685.477,5808  até  922.337.203.685.477,5807 


• REAL: 
Valores numéricos aproximados com precisão de ponto flutuante, indo de -3.40E + 38 até 3.40E + 38 


• FLOAT: 
Valores numéricos aproximados com precisão de ponto flutuante, indo de -1.79E + 308  até  1.79E + 308 


• SMALLDATETIME: 
Armazena hora e data variando de 1 de janeiro de 1900 até 6 de junho de 2079. A precisão de hora é armazenada até os segundos. 


• DATETIME: 
Armazena hora e data variando de 1 de janeiro de 1753 até 31 de Dezembro de 9999. A precisão de hora é armazenada até os centésimos de segundos. 


• CHAR(N): 
Armazena N caracteres fixos (até 8.000) no formato não Unicode. Se a quantidade de caracteres armazenada no campo for menor que o tamanho total especificado em N, o resto do campo é preenchido com espaços em branco.


• VARCHAR(N): 
Armazena N caracteres (até 8.000) no formato não Unicode. Se a quantidade de caracteres armazenada no campo for menor que o tamanho total especificado em N, o resto do campo não é preenchido. 


• TEXT: 
Armazena caracteres (até 2.147.483.647) no formato não Unicode. Se a quantidade de caracteres armazenada no campo for menor que 2.147.483.647, o resto do campo não é preenchido. Procure não utilizar este tipo de dado diretamente, pois existem funções específicas para trabalhar com este tipo de dado. 


• NCHAR(N): 
Armazena N caracteres fixos (até 4.000) no formato Unicode. Se a quantidade de caracteres armazenada no campo for menor que o tamanho total especificado em N, o resto do campo é preenchido com espaços em branco. 


• NVARCHAR(N): 
Armazena N caracteres (até 4.000) no formato Unicode. Se a quantidade de caracteres armazenada no campo for menor que o tamanho total especificado em N, o resto do campo não é preenchido. 


• NTEXT: 
Armazena caracteres (até 1.073.741.823) no formato Unicode. Se a quantidade de caracteres armazenada no campo for menor que 1.073.741.823, o resto do campo não é preenchido. Procure não utilizar este tipo de dado diretamente, pois existem funções específicas para trabalhar com este tipo de dado. 



Nenhum comentário: