Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Qual é a diferença entre CHAR e VARCHAR no SQL Server - SQL Server / T-SQL Tutorial Parte 31

CHAR eVARCHAR ambos os tipos de dados são usados ​​para armazenar strings de caracteres.

Char é de largura fixa, Isso significa que o tamanho de armazenamento do valor char é igual ao tamanho máximo da coluna/ Variável.

Varchar é de comprimento variável. O tamanho do armazenamento usado pelo Varchar depende dos caracteres reais salvos.


Exemplo 1:

Vamos criar algumas variáveis ​​e salvar a mesma string e verificar o armazenamento usado pela função datalength no SQL Server.

Declare @Variable1 CHAR(20)Declare @Variable2 VARCHAR(20)SET @ Variable1='TechBrothersIT'SET @Variable2='TechBrothersIT'Selecione datalength(@Variable1) como VarLength1, datalength(@Variable2) como VarLength2
 
 Qual ​​é a diferença entre CHAR e VARCHAR no SQL Server - T-SQL Tutorial
Como você pode veja acima, Char ocupou 20 Bytes de espaço para 20 caracteres mesmo salvando apenas 14 caracteres. Por outro lado, Varchar usou apenas 14 bytes para armazenar 14 caracteres.


Exemplos 2:

Vamos criar uma tabela com duas colunas, uma vez char e outro tipo de dados varchat. Armazene as mesmas informações e verifique o espaço ocupado por cada valor usando a função datalength.
Criar tabela dbo.CharVsVarChar( CHARName CHAR(50),VARName VARCHAR(50))insert into dbo.CharVsVarChar  
Valores('Aamir','Aamir'),('TechBrothersIT','TechBrothersIT'),('Raza','Raza')go
Selecione DataLength(CharName) AS CHARNameLength,DataLength(VarName) AS VarNameLength From dbo.CharVsVarChar
 
 Char vs Varchar no SQL Server - SQL Server / Tutorial T-SQL 
 
 Podemos ver que Char sempre ocupa o mesmo espaço independente do número ou caracteres salvos. Por outro lado, o espaço ocupado do Varchar varia de acordo com o número de caracteres salvos.
Nos casos em que sabemos que vamos armazenar um número fixo de caracteres, podemos usar o Char, caso contrário, usar o Varchar.