PostgreSQL admite 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 predeterminado es varchar
que tiene una longitud ilimitada. Cualquier intento de almacenar una string más larga en la columna definida con varchar(n)
da como resultado que PostgreSQL emita un error. Sin embargo, una excepción es que si los caracteres sobrantes son todos espacios, PostgreSQL truncará los espacios a la longitud máxima y almacenará la string. La única ventaja de especificar el especificador de longitud para el tipo de datos varchar es que PostgreSQL verificará y emitirá un error si intenta insertar una string más larga en la columna varchar(n).
Syntax: variable_name VARCHAR(n)
Ejemplo:
Vamos a crear una nueva tabla (digamos, char_test) para la demostración usando los siguientes comandos:
CREATE TABLE varchar_test ( id serial PRIMARY KEY, x VARCHAR (1), y VARCHAR(10) );
Ahora insertemos una nueva fila en la tabla char_test usando el siguiente comando:
INSERT INTO varchar_test (x, y) VALUES ( 'Geeks', 'This is a test for char' );
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 varying(1)
Entonces, 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 la cantidad de caracteres ingresados es mayor a 10, como se muestra a continuación:
ERROR: value too long for type character varying(10)
Let’s fix it too.
INSERT INTO varchar_test (x, y) VALUES ( 'G', 'hello Geek' );
Ahora que hemos logrado asignar con éxito los valores al tipo de datos de carácter, verifíquelo ejecutando el siguiente comando:
SELECT * FROM varchar_test;
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