2008-10-07 17 views
8

En el servidor SQL, ¿hace una diferencia si defino que una columna varchar sea de longitud 32 o 128?Tamaño de las columnas varchar

+3

¿Está preguntando: ¿hace una diferencia si la longitud de la columna es una ALIMENTACIÓN DE DOS? (32/64/128/256/etc) La respuesta a ESA pregunta es muy diferente. – Portman

Respuesta

3

No debe haber ninguna diferencia notable, ya que el servidor solo almacenará la cantidad de datos que inserte en esa columna. No está ajustado al tamaño completo del campo como lo hace con una columna char.

Editar: Para obtener más información, esto link debe ser útil.

3

No debería. Simplemente define la longitud máxima que puede acomodar, la longitud real utilizada depende de los datos insertados.

11

A varchar es un campo de carácter variable. Esto significa que puede contener datos de texto a una cierta longitud. Un varchar (32) solo puede contener 32 caracteres, mientras que un varchar (128) puede contener 128 caracteres. Si traté de ingresar "12345" en un campo varchar (3); Estos son los datos que serán almacenados:

"123"

El "45" será "truncado" (perdido).

Son muy útiles en los casos en que usted sabe que un determinado campo solo será (o solo debe tener) una longitud determinada como máximo. Por ejemplo: un código postal o abreviatura de estado. De hecho, generalmente se utilizan para casi todos los tipos de datos de texto (como nombres/direcciones/etcétera), pero en estos casos debe tener cuidado de que el número que proporcione sea el máximo razonable para el tipo de datos que llenará esa columna

Sin embargo, también debe tener cuidado al usarlos para permitir que el usuario ingrese la cantidad máxima de caracteres que admitirá el campo. De lo contrario, puede confundir cuando trunca la entrada del usuario.

+3

Eso no es un toro. Además de los nombres y las direcciones, he encontrado muchos campos varchar que están agrupados de forma exagerada con excretas. – csj

Cuestiones relacionadas