« Voltar
em banco de dados sql server

CHAR, VARCHAR, NCHAR, NVARCHAR? Qual a diferença?.

No SQL Server, às vezes ficamos na dúvida em qual tipo escolher para uma coluna que aceita texto.
Afinal, qual usar? É tudo a mesma coisa?

Bem, vamos lá.

NCHAR e NVARCHAR podem armazenar caracteres Unicode.
CHAR e VARCHAR não conseguem armazenar caracteres Unicode.

VARCHAR e NVARCHAR têm o tamanho variável e vão alocar na memória o que você usar.
CHAR e NCHAR vão usar o tamanho todo que você designou para a coluna. Por exemplo: se você criar uma coluna NCHAR(10) e gravar o texto "teste" nela, o banco irá preencher o restante do espaço da coluna com espaços.
Ficará dessa forma "teste     ".Ou seja, 5 letras e 5 espaços.

Resumindo: use os tipos N(nchar e nvarchar) se quiser suporte à Unicode. Do contrário, use as outras versões.
Se tiver uma coluna que você gravará quase sempre a mesma quantidade de texto, use CHAR ou NCHAR, pois nesse caso a performance será melhor do que se você usar os tipos var.
Se a coluna variar muito de tamanho, use VARCHAR ou NVARCHAR.


Já que você leu até aqui, porque não curte minha página lá no Face pra ficar em dia com as minhas postagens e outras coisas legais?
O endereço é https://www.facebook.com/devgabsferreira (:

comments powered by Disqus