Вы находитесь на странице: 1из 3

Licenciatura En Informtica

Sexto Semestre Grupo: B

Tema: Diferencias entre Char y Varchar


Medina Patio Susana

Lic. Arnulfo Gamaliel Hernndez Gonzalez

Usar datos char y varchar


Los datos char o varchar pueden consistir en un nico carcter o una cadena con un mximo de 8.000 caracteres para los datos char y de hasta 2^31 caracteres para los datos varchar. Los tipos de datos varchar pueden adoptar dos formas. Los datos varchar pueden tener una longitud mxima de caracteres especificada; por ejemplo, varchar(6) indica que este tipo de datos puede almacenar un mximo de seis caracteres; o bien puede tener la forma varchar(max) que aumenta hasta 2^31 el nmero mximo de caracteres que se pueden almacenar en este tipo de datos. Cada valor de datos de char y varchar tiene una intercalacin. Las intercalaciones definen atributos como los patrones de bits que se utilizan para representar cada carcter, las reglas de comparacin, la distincin entre maysculas y minsculas y la distincin de los acentos. Cada base de datos tiene una intercalacin predeterminada. Cuando se define una columna o se especifica una constante, se les asigna la intercalacin predeterminada de la base de datos, a menos que les asigne una intercalacin especfica mediante la clusula COLLATE. Cuando se combinan o se comparan dos valores char o varchar que tienen intercalaciones distintas, las reglas de prioridad de intercalacin determinan la intercalacin que se utiliza para la operacin. Las constantes de caracteres deben incluirse entre comillas simples () o comillas dobles ("). Se recomienda incluir entre comillas simples una constante de caracteres. Cuando la opcin QUOTED IDENTIFIER es ON, algunas veces no se permite incluir una constante de caracteres entre comillas dobles. El tipo de datos char es un tipo de datos de longitud fija cuando se especifica la clusula NOT NULL. Si en una columna char NOT NULL se inserta un valor ms corto que la longitud de la columna, el valor se rellena a la derecha con espacios en blanco hasta completar el tamao de la columna. Por ejemplo, si una columna se define como char(10) y el dato que se va a almacenar es "msica", SQL Server almacena este dato como "msica____" donde "_" indica un espacio en blanco. El tipo de datos varchar es de longitud variable. Los valores ms cortos que el tamao de la columna no se rellenan a la derecha para completar el tamao de la misma. Si la opcin ANSI_PADDING era OFF cuando se cre la columna, los espacios en blanco a la derecha se truncan a partir de los valores de caracteres almacenados en la columna. Si ANSI_PADDING era ON cuando se cre la columna, los espacios en blanco a la derecha no se truncan. La forma en que se interpretan los patrones de bits almacenados en los bytes de una cadena de caracteres se basa en la pgina de cdigo de MicrosoftSQL Server que se ha

especificado durante la instalacin. Un objeto char o varchar puede contener cualquier carcter de la pgina de cdigo de SQL Server. . Las aplicaciones que usan los controladores ODBC de SQL Server de SQL Server versin 6.5 o anterior slo admiten un mximo de 255 bytes de datos de caracteres. Si estas aplicaciones intentan recuperar parmetros de caracteres de SQL Server versin 7.0 o posterior, o bien columnas de conjuntos de resultados que contengan ms de 255 bytes de datos, los datos de caracteres se truncarn a 255 bytes

Diferencias entre Varchar y Char


Varchar y Char son dos tipos de cadenas muy similares; es ms, originalmente, ambos tipos eran idnticos y diferan nicamente en la manera cmo se almacenaban (su formato de almacenamiento). Hagamos pues una comparacin general de ambos: 1. Cuando se declara un tipo Varchar o Char, se le declara con una longitud que indica el nmero mximo de caracteres que puede almacenar. Por ejemplo, Varchar(255) Char(30). La diferencia est en que mientras Varchar almacena cadenas de caracteres de longitud variable (es lo ms comn), Char almacena datos de longitud fija. Por ejemplo, si insertamos una cadena de 25 caracteres y la longitud del campo tipo Char es 30, se aadirn espacios a la derecha de la cadena hasta completar la longitud mencionada. 2. Varchar requiere menos espacio de almacenamiento que Char, ya que utiliza menos espacio al guardar valores ms pequeos. 3. Al ser variable, Varchar necesita utilizar 1 o 2 bytes adicionales para registrar la longitud del valor: 1 byte si la longitud mxima de la columna es 255 bytes o menor y 2 bytes si es ms 4. Al ahorrar espacio de almacenamiento, se puede deducir a primera vista que Varchar ayuda al rendimiento de una aplicacin ms que Char, sin embargo, como la longitud de los datos sern variables, sus actualizaciones producirn una tarea adicional a la base de datos. Es por eso que debemos tener en cuenta lo dicho y los siguientes consejos para poder optimizar, en lo que a esto respecta, nuestra BD.