Ahora que estamos familiarizados con el concepto de tipos de datos de caracteres CHAR, VARCHAR y TEXT respectivamente en PostgreSQL, este artículo se centrará en resaltar la diferencia clave entre ellos.
¿Qué es el tipo de datos CHAR?
Este tipo de datos se utiliza para almacenar caracteres de longitud limitada. Se representa como char(n) o character(n) en PostgreSQL, donde n representa el límite de la longitud de los caracteres. Si no se especifica n, el valor predeterminado es char(1) o character(1).
¿Qué es el tipo de datos VARCHAR?
Este tipo de datos se utiliza para almacenar caracteres de longitud limitada. Se representa como varchar(n) en PostgreSQL, donde n representa el límite de la longitud de los caracteres. Si no se especifica n, el valor predeterminado es varchar, que tiene una longitud ilimitada.
¿Qué es el tipo de datos de TEXTO?
Este tipo de datos se utiliza para almacenar caracteres de longitud ilimitada. Se representa como texto en PostgreSQL. El rendimiento del varchar (sin n) y el texto son los mismos.
La siguiente tabla proporciona la principal diferencia entre CHAR, VARCHAR y TEXT:
Comparación | CARBONIZARSE | VARCHAR | TEXTO |
---|---|---|---|
Sintaxis | CARÁCTER(n) | VARCHAR(n) | TEXTO |
Representación | char(n) o carácter(n) | varchar(n) | texto |
Longitud de caracteres | Limitado | Limitado | Ilimitado |
Espacios y relleno | se trunca | se trunca | Permanece intacta |
Si n no se especifica | norte = 1 | n = infinito | El concepto de n no existe |
ciclo de consulta | Ciclo extra para comprobar longitud | Ciclo extra para comprobar longitud | Sin evaluación de la longitud del carácter |
Ejemplo:
Vamos a crear una nueva tabla (digamos, character_tests) para la demostración usando los siguientes comandos:
CREATE TABLE character_tests ( id serial PRIMARY KEY, x CHAR (1), y VARCHAR (10), z TEXT );
Ahora insertemos una nueva fila en la tabla char_test usando el siguiente comando:
INSERT INTO character_tests (x, y, z) VALUES ( 'Geeks', 'This is a test for varchar', 'This is a very long text for the PostgreSQL text column' );
En esta etapa, PostgreSQL generará un error ya que el tipo de datos de la columna x es char(1) e intentamos insertar una string con tres caracteres en esta columna, como se muestra a continuación:
ERROR: value too long for type character(1)
Entonces, ahora vamos a arreglarlo.
INSERT INTO character_tests (x, y, z) VALUES ( 'G', 'This is a test for varchar', 'This is a very long text for the PostgreSQL text column' );
Ahora, obtendremos el mismo error para la columna y ya que la cantidad de caracteres ingresados es mayor a 10, como se muestra a continuación:
ERROR: value too long for type character(10)
Arreglemoslo también.
INSERT INTO character_tests (x, y, z) VALUES ( 'Y', 'varchar(n)', 'This is a very long text for the PostgreSQL text column' );
Ahora que hemos logrado asignar con éxito los valores al tipo de datos de carácter, verifíquelo ejecutando el siguiente comando:
SELECT * FROM character_tests;
Producción:
Publicación traducida automáticamente
Artículo escrito por RajuKumar19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA