Resumen: en este tutorial, aprenderá sobre el tipo de datos Oracle VARCHAR2 y cómo utilizarlo para definir columnas de cadenas de caracteres de longitud variable.

Introducción al tipo de datos Oracle VARCHAR2

Para almacenar cadenas de caracteres de longitud variable, se utiliza el tipo de datos Oracle VARCHAR2. Una columna VARCHAR2 puede almacenar un valor que va de 1 a 4000 bytes. Esto significa que para un conjunto de caracteres de un solo byte, se pueden almacenar hasta 4000 caracteres en una columna VARCHAR2.

Cuando se crea una tabla con una columna VARCHAR2, se debe especificar la longitud máxima de la cadena, ya sea en bytes:

o en caracteres

Por defecto, Oracle utiliza BYTE si no se especifica explícitamente BYTE o CHAR después del max_size. En otras palabras, una columna VARCHAR2(N) puede contener hasta N bytes de caracteres.

Si almacena una cadena de caracteres cuyo tamaño excede el tamaño máximo de la columna VARCHAR2, Oracle emite un error.

Por ejemplo, si define una columna VARCHAR2 con un tamaño máximo es 20. En un conjunto de caracteres de un byte, puede almacenar hasta 20 caracteres. Si almacena 21 caracteres o más, Oracle devuelve un error.

Además, si almacena 10 caracteres en una columna VARCHAR2(20), Oracle utiliza sólo 10 bytes para el almacenamiento, no 20 bytes. Por lo tanto, el uso del tipo de datos VARCHAR2 ayuda a ahorrar espacios utilizados por la tabla.

Cuando se comparan valores VARCHAR2, Oracle utiliza la semántica de comparación sin relleno.

Oracle VARCHAR2 max length

Desde Oracle Database 12c, se puede especificar el tamaño máximo de 32767 para el tipo de datos VARCHAR2. Oracle utiliza el parámetro MAX_STRING_SIZE para controlar el tamaño máximo. Si el parámetro MAX_STRING_SIZE es STANDARD, el tamaño máximo para VARCHAR2 es de 4000 bytes. Si MAX_STRING_SIZE es EXTENDED, el límite de tamaño para VARCHAR2 es de 32767.

Para obtener el valor del parámetro MAX_STRING_SIZE, se utiliza la siguiente consulta:

O se utiliza la siguiente sentencia:

Ejemplos de Oracle VARCHAR2

La siguiente sentencia crea una nueva tabla denominada econtacts para almacenar los contactos de emergencia de los empleados.

La tabla econtacts tiene tres columnas VARCHAR2: first_name, last_name y phone.

La siguiente sentencia inserta una nueva fila en la tabla econtacts:

Ha funcionado como se esperaba porque los datos de entrada no superan el tamaño máximo de la columna VARCHAR2.

Sin embargo, la siguiente sentencia falla al insertar:

Debido a que el nombre de entrada excede la longitud máxima de la columna first_name, Oracle emitió el siguiente error:

En este tutorial, ha aprendido sobre el Oracle VARCHAR2 y cómo utilizar el tipo de datos VARCHAR2 para definir columnas de cadenas de caracteres de longitud variable en una tabla.

  • ¿Ha sido útil este tutorial?
  • SíNo

Deja una respuesta

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