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