GeeksforGeeks

PostgreSQL soporta un tipo de datos de caracteres llamado 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 por defecto es varchar , que tiene una longitud ilimitada. Cualquier intento de almacenar una cadena más larga en la columna que se define con varchar(n) hace que PostgreSQL emita un error. Sin embargo, una excepción es que si los caracteres en exceso son todos espacios, PostgreSQL truncará los espacios a la longitud máxima y almacenará la cadena. La única ventaja de especificar el especificador de longitud para el tipo de datos varchar es que PostgreSQL comprobará y emitirá un error si se intenta insertar una cadena más larga en la columna varchar(n).

Syntax: variable_name VARCHAR(n)

Ejemplo :
Creemos una nueva tabla (digamos, char_test) para la demostración utilizando los siguientes comandos:

CREATE TABLE varchar_test ( id serial PRIMARY KEY, x VARCHAR (1), y VARCHAR(10));

Ahora vamos a insertar una nueva fila en la tabla char_test utilizando el siguiente comando:

INSERT INTO varchar_test (x, y)VALUES ( 'Geeks', 'This is a test for char' );

En esta etapa PostgreSQL lanzará un error ya que el tipo de datos de la columna x es char(1) y tratamos de insertar una cadena con tres caracteres en esta columna como se muestra a continuación:

ERROR: value too long for type character varying(1)

Así que, ahora vamos a arreglarlo.

INSERT INTO varchar_test (x, y)VALUES ( 'G', 'This is a test for char' );

Ahora, obtendremos el mismo error para la columna y ya que el número de caracteres introducidos es superior a 10 como se muestra a continuación:

ERROR: value too long for type character varying(10)

Arreglémoslo también.

INSERT INTO varchar_test (x, y)VALUES ( 'G', 'hello Geek' );

Ahora que hemos conseguido asignar con éxito los valores al tipo de datos carácter, compruébalo ejecutando el siguiente comando:

SELECT * FROM varchar_test;

Salida:

Etiquetas del artículo :

Deja una respuesta

Tu dirección de correo electrónico no será publicada.