Resumo: neste tutorial, você aprenderá sobre o Oracle VARCHAR2 tipo de dados e como usá-lo para definir colunas de caracteres de comprimento variável.

Introdução ao Oracle VARCHAR2 tipo de dados

Para armazenar cadeias de caracteres de comprimento variável, você usará o Oracle VARCHAR2 tipo de dados. Uma coluna VARCHAR2 pode armazenar um valor que varia de 1 a 4000 bytes. Isso significa que para um conjunto de caracteres de byte único, você pode armazenar até 4000 caracteres em uma coluna VARCHAR2.

Quando você cria uma tabela com uma coluna VARCHAR2, você deve especificar o comprimento máximo da string, seja em bytes:

ou em caracteres

Por padrão, o Oracle usa BYTE se você não especificar explicitamente BYTE ou CHAR após o max_size. Em outras palavras, uma coluna VARCHAR2(N) pode conter até N bytes de caracteres.

Se você armazenar uma cadeia de caracteres cujo tamanho exceda o tamanho máximo da coluna VARCHAR2, o Oracle emite um erro.

Por exemplo, se você definir uma coluna VARCHAR2 com um tamanho máximo de 20. Em um conjunto de caracteres de byte único, você pode armazenar até 20 caracteres. Se você armazenar 21 caracteres ou mais, Oracle retorna um erro.

Além disso, se você armazenar 10 caracteres em uma coluna VARCHAR2(20), Oracle utiliza apenas 10 bytes para armazenamento, e não 20 bytes. Portanto, usando VARCHAR2 tipo de dados ajuda a salvar espaços usados pela tabela.

Ao comparar VARCHAR2 valores, Oracle usa a semântica de comparação não compactada.

Oracle VARCHAR2 comprimento máximo

Desde Oracle Database 12c, você pode especificar o tamanho máximo de 32767 para o tipo de dados VARCHAR2. Oracle usa o parâmetro MAX_STRING_SIZE para controlar o tamanho máximo. Se o MAX_STRING_SIZE for STANDARD, então o tamanho máximo para VARCHAR2 é de 4000 bytes. Caso o MAX_STRING_SIZE seja EXTENDED, o limite de tamanho para VARCHAR2 é de 32767.

Para obter o valor do parâmetro MAX_STRING_SIZE, use a seguinte consulta:

Utilize a seguinte instrução:

Oracle VARCHAR2 exemplos

A seguinte instrução cria uma nova tabela chamada econtacts para armazenar os contatos de emergência dos funcionários.

A tabela econtacts tem três colunas VARCHAR2: first_name, last_name, e phone.

A seguinte instrução insere uma nova linha na tabela econtacts:

Funcionou como esperado porque os dados de entrada não excedem o tamanho máximo da coluna VARCHAR2.

No entanto, a seguinte instrução falha ao inserir:

Porque o primeiro nome de entrada excede o comprimento máximo da coluna first_name, o Oracle emitiu o seguinte erro:

Neste tutorial, você aprendeu sobre o Oracle VARCHAR2 e como usar o tipo de dados VARCHAR2 para definir colunas de caracteres de comprimento variável em uma tabela.

  • Este tutorial foi útil?
  • Sim Não

Deixe uma resposta

O seu endereço de email não será publicado.