Quando é aconselhável usar varchar e text para tipos de dados

SQL Server

26/09/2016

Gostaria de saber se há alguma diferença entre os dois nos casos em que os dois podem ser usados. Por exemplo, quero cadastrar no banco uma string que no máximo chegaria a 50 caracteres. Qual a diferença em definir a coluna como varchar(50) e text?
Calebe Menezes

Calebe Menezes

Curtidas 0

Melhor post

Jones Granatyr

Jones Granatyr

26/09/2016

Outra coisa é que quando usar um varchar(50) e o nome tiver somente 20 caracteres, o total alocado será 20 e irá variar de acordo com a quantidade de caracteres cadastrados.
GOSTEI 4

Mais Respostas

Luiz Santos

Luiz Santos

26/09/2016

Bom dia Calebe.
Uma das diferenças tem a ver com a declaração.
Em um VARCHAR você pode determinar o tamanho, no TEXT não, sempre utiliza o tamanho máximo.
Você não consegue utilizar as funções de TEXTO em um campo TEXT (SUBSTRING, LEFT, RIGHT, entre outras)
Li em um site que também pesa contra o text a forma como ele grava dentro do banco, usando o espaço reservado para BLOB, mas não sei dizer o quanto isso degrada a performance.
E por último, a própria Microsoft diz para não usar o TEXT e sim o VARCHAR, que o TEXT pode ser descontinuado em versões futuras do SQL SERVER.

Grande abraço.
GOSTEI 3
Calebe Menezes

Calebe Menezes

26/09/2016

ótima observação Jones, achei muito relevante o comentário :)
GOSTEI 0
Luiz Santos

Luiz Santos

26/09/2016

concordo
GOSTEI 0
POSTAR