En esta sección, vamos a entender el funcionamiento de los tipos de datos PostgreSQL varchar, que nos permite almacenar el carácter de longitud ilimitada. Y también vemos ejemplos del tipo de datos Varchar y espacios.

¿Qué es el tipo de datos Varchar de PostgreSQL?

En PostgreSQL, el tipo de datos Varchar se utiliza para guardar el carácter de longitud infinita. Y puede mantener una cadena con una longitud máxima de 65.535 bytes.

En otras palabras, podemos decir que el tipo de datos Varchar de PostgreSQL utiliza el tipo de datos de carácter, que se significa como VARCHAR.

  • Mayormente debemos utilizar los tipos de datos Varchar y Text. Si queremos que PostgreSQL compruebe la longitud, entonces utilizamos el VARCHAR(n).
  • En PostgreSQL, la ilustración varchar como Varchar (n), donde n se utiliza para significar el límite de la longitud del carácter. Si n no se describe, por defecto es Varchar que tiene longitud infinita.
  • Si tratamos de obtener una cadena más larga en la columna especificada con Varchar(n), el PostgreSQL se produce un error en la salida.
  • Aún así, tenemos una excepción si los caracteres adicionales son todos los espacios, entonces el PostgreSQL recortará los espacios a la longitud máxima (n) y almacenar la cadena.
  • PostgreSQL comprobará y lanzará un error si definimos el especificador de longitud para el tipo de datos Varchar o si intentamos insertar más de n caracteres en la columna Varchar(n).

Nota: Un tipo de datos varchar es una cadena de longitud variable que puede llevar caracteres especiales, números y letras. Y n almacena texto cuya longitud puede tener un máximo de 0 a 65535 caracteres.

Sintaxis del tipo de datos Varchar de PostgreSQL

La sintaxis del tipo de datos Varchar de PostgreSQL es la siguiente:

Ejemplos del tipo de datos Varchar de PostgreSQL

Veamos diferentes ejemplos para entender cómo funciona el tipo de datos Varchar de PostgreSQL.

Para ello, crearemos una nueva tabla de nombre Varchar_demo con la ayuda del comando CREATE e insertaremos algunos valores utilizando el comando INSERT.

Vamos a crear tablas Varchar_demo en la base de datos de la Organización mediante el comando CREATE:

Salida

Después de la ejecución exitosa del comando anterior, la tabla Varchar_demo se ha creado, como se muestra en la siguiente imagen:

Una vez que la tabla Varchar_demo ha sido generada, vamos a insertar algunos valores en ella utilizando el comando INSERT.

Salida

Después de implementar el comando anterior, obtendremos la siguiente salida, PostgreSQL emitirá un error de que «el valor es demasiado largo para el tipo carácter variable (1)».

Eso significa que el tipo de datos de la columna P es VARCHAR (1), y donde estamos tratando de insertar una cadena con tres caracteres en una columna particular como podemos observar en la siguiente captura de pantalla:

Para resolver el error anterior, utilizaremos el siguiente comando como sigue:

Salida

Al ejecutar el comando anterior, el PostgreSQL vuelve a emitir un error similar para la columna Q, lo que significa que el tipo de datos de la columna Q es VARCHAR (10). En cambio, el número de caracteres introducidos es superior a 10, como podemos observar en la siguiente captura de pantalla:

Por lo tanto, para resolver los dos errores anteriores, utilizaremos el siguiente comando:

Salida

Después de ejecutar el comando anterior, obtendremos el siguiente resultado: el valor se ha insertado con éxito en la tabla Varchar_demo.

Como podemos ver en la captura de pantalla anterior, hemos insertado con éxito los valores de las columnas P y Q.

Después de crear e insertar los valores de la tabla Varchar_demo, utilizaremos el comando SELECT para devolver todas las filas de la tabla Varchar_demo:

Salida

Después de implementar el comando anterior, obtendremos el siguiente resultado donde podemos ver que tanto los valores de la Columna P como la Columna Q han sido introducidos con éxito en la tabla Varchar_demo.

Ejemplo 2

Veamos un ejemplo más para aprender el tipo de datos Varchar en detalle. Estamos creando una nueva tabla como Varchar_demo2 con la ayuda del comando CREATE e insertando algunos valores utilizando el comando INSERT.

Vamos a crear Varchar_demo2 en una base de datos similar a la anterior que es la Organización mediante el comando CREATE:

Salida

La tabla Varchar_demo2 se ha creado con éxito después de ejecutar el comando anterior, como se muestra en la siguiente captura de pantalla:

Una vez que la tabla Varchar_demo2 se ha generado, podemos insertar algunos valores en ella utilizando el comando INSERT.

Salida

Después de implementar el comando anterior. PostgreSQL da el mensaje de error «el valor es demasiado largo para el tipo Carácter (1)». La salida lo explica más claramente.

Ejemplo de PostgreSQL VARCHAR y Espacios

PostgreSQL no extiende el espacio para los valores varchar cuando se almacenan, y PostgreSQL también toma los espacios finales cuando almacenan o recuperan valores Varchar.

Para ello, veremos el siguiente ejemplo para entenderlo en el que el comando Insert, y añadimos valores en la columna Name en la tabla Varchar_demo2, que creamos en el ejemplo anterior:

Output

Después de ejecutar el comando anterior, obtendremos el siguiente resultado: el valor ha sido insertado con éxito en la tabla Varchar_demo2.

Después de crear e insertar los valores de la tabla Varchar_demo2, utilizaremos el comando SELECT para recuperar los valores de la tabla Varchar_demo2:

Salida

Después de ejecutar el comando anterior, obtendremos el siguiente resultado en el que PostgreSQL contiene el espacio final en el conteo de la longitud ya que no aumenta la longitud de la columna.

Si intentamos insertar un valor Varchar con espacios de arrastre que sobrepasen la longitud de la columna, y el PostgreSQL truncará los espacios de arrastre. Además, PostgreSQL lanza una advertencia. Como hemos mostrado en el siguiente ejemplo:

Output

Al ejecutar el comando anterior, obtendremos el siguiente resultado:

En el comando anterior, la longitud del valor insertado es seis en la columna Nombre. Y el valor se sigue insertando en la columna. Sin embargo, el PostgreSQL corta el espacio final antes de añadir el valor.

Podemos comprobarlo con la ayuda del siguiente comando, donde el comando Insert se añade con éxito.

Salida

Después de implementar el comando anterior, obtendremos la siguiente salida todavía con una advertencia que es: Datos truncados para la columna ‘Nombre’ en la fila 1:

Diferencia entre los tipos de datos PostgreSQL CHAR y PostgreSQL VARCHAR

Los tipos de datos PostgreSQL CHAR y VARCHAR siguen el carácter ASCII. Son prácticamente similares pero diferentes a la hora de almacenar y obtener los datos de la base de datos.

La siguiente tabla destaca las diferencias esenciales entre los tipos de datos CHAR y VARCHAR:

Tipo de datos PostgreSQL CHAR Tipo de datos PostgreSQL VARCHAR
PostgreSQL admite la asignación de memoria estática para el tipo de datos Char. PostgreSQL admite la asignación de memoria dinámica para el tipo de datos Varchar.
El tipo de datos Char también se conoce como Character. El tipo de datos Varchar también se denomina Carácter variable.
El tipo de datos Char no puede contener más de 255 caracteres. El tipo de datos Varchar puede contener hasta 65535 caracteres.
El tipo de datos Char almacena los valores en longitud fija, que representamos al crear una tabla. El tipo de datos Varchar almacena los valores en una cadena de longitud variable con un prefijo de uno o dos bytes de longitud.
Se puede rellenar con espacio final para contener la longitud especificada. No se puede rellenar con ningún carácter, con espacio, cuando se almacenan.

Resumen

En la sección del tipo de datos Varchar de PostgreSQL, hemos aprendido los siguientes temas:

  • El tipo de datos Varchar utiliza para tipos de caracteres de longitud variable.
  • Si queremos comprobar la longitud de la cadena (n) antes de insertar o actualizar en la columna, podemos utilizar el tipo de datos Varchar(n).
  • Utilizamos el tipo de datos Varchar de PostgreSQL y espacios.

Deja una respuesta

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