La diferencia entre varchar y nvarchar indica cómo se almacenan los datos en una base de datos. Un sistema de base de datos consta de datos y los datos se definen por tipos de datos. Un tipo de datos dice que tipo de valor puede contener una columna. Cada columna en una tabla de base de datos debe tener un nombre y un tipo de datos. Hoy en día, hay muchos tipos de datos disponibles en el diseño de bases de datos. De estos tipos de datos, varchar y nvarchar se utilizan para almacenar caracteres de cadena. Varchar y Nvarchar parecen ser intercambiables. Pero estos dos tipos tienen diferentes ventajas, y se usan para diferentes propósitos.
Como su nombre lo indica, Varchar es un carácter variable o variando el personaje. La sintaxis de varchar es VARCHAR [(n | max)]. Varchar almacena datos ASCII que son datos que no son Unicode, y es el tipo de datos que se utiliza en el uso normal. Varchar utiliza un byte por carácter. También almacena la longitud de cada cadena en la base de datos. Varchar tiene una longitud de datos variable y puede almacenar un máximo de 8000 caracteres no Unicode. Este tipo de datos es muy flexible y aceptará la mayoría de los diferentes tipos de datos. Varchar no le permite almacenar caracteres en blanco para las partes no utilizadas de la cadena. El tamaño máximo de almacenamiento de varchar es de 2 GB, y el tamaño de almacenamiento real de los datos es la longitud real de los datos más dos bytes. Aunque varchar es más lento que char, usa asignación de memoria dinámica. No solo las cadenas, sino también los tipos que no son cadenas, como los tipos de fecha, "14 de febrero", "12/11/2014" también se pueden almacenar en el tipo de datos varchar.
Nvarchar sugiere un carácter variable nacional o un personaje nacional variable. La sintaxis de nvarchar es NVARCHAR [(n | max)]. Nvarchar puede almacenar diferentes tipos de datos con longitud variable. Son datos Unicode y datos e idiomas multilingües con caracteres de doble byte como en chino. Nvarchar utiliza 2 bytes por carácter, y puede almacenar un límite máximo de 4000 caracteres y una longitud máxima de 2 GB. Nvarchar trata "" como una cadena vacía y una longitud de cero caracteres. El tamaño de almacenamiento es el doble del número de caracteres más dos bytes. En nvarchar, los espacios finales no se eliminan cuando el valor se almacena y recibe.
La diferencia clave entre varchar y nvarchar indica cómo se almacenan los datos en una base de datos.
• Varchar almacena valores ASCII y nvarchar almacena caracteres Unicode.
• Varchar utiliza un byte por carácter, mientras que nvarchar utiliza dos bytes por carácter.
• Varchar [(n)] almacena caracteres no Unicode con longitud variable y Nvarchar [(n)] almacena caracteres Unicode con longitud variable.
• Varchar puede almacenar un máximo de 8000 caracteres no Unicode y nvarchar almacena un máximo de 4000 caracteres Unicode o no Unicode.
• Varchar es mejor utilizar en lugares donde están las variables con caracteres que no son Unicode. Nvarchar se utiliza en lugares donde los caracteres variables con caracteres Unicode son.
• El tamaño de almacenamiento de varchar es el número de bytes igual al número de caracteres más dos bytes que se reservan para el desplazamiento. Nvarchar utiliza el número de bytes igual al doble del número de caracteres más dos bytes reservados para el desplazamiento.
• Todos los sistemas operativos modernos y plataformas de desarrollo utilizan Unicode internamente. Por lo tanto, nvarchar es muy utilizado en lugar de varchar para evitar la conversión de tipos de datos.
Resumen:
Nvarchar vs Varchar
Varchar y nvarchar son tipos de datos de longitud variable que utilizamos para almacenar diferentes tipos de cadenas. Estos tipos de datos son útiles en los sistemas operativos modernos. Estas variedades de tipos de datos evitan la conversión de datos de un tipo a otro según los sistemas operativos. Por lo tanto, varchar y nvarchar ayudan al programador a identificar cadenas Unicode y no Unicode sin mucha dificultad. Estos dos tipos de datos son muy útiles en la programación..
Imágenes cortesía: