Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Por que varchar2 ?

Gostaria de entender o por que se utiliza varchar2 e não só varchar.

1 resposta
solução!

VARCHAR

Atualmente (até a versão 11G do Oracle Database), VARCHAR nada mais é do que um sinônimo para VARCHAR2 (desde o Oracle8), por isso a Oracle recomenda não utilizar este tipo de dado.

Existe a possibilidade de VARCHAR ser utilizado em versões futuras para ter uma semântica ou característica diferente de VARCHAR2, mas mesmo, estando tudo igual atualmente, utilize VARCHAR2 ao invés de VARCHAR, para evitar possíveis problemas futuros.

VARCHAR2

VARCHAR2 armazena caracteres alfanuméricos de tamanho variável, entre 1 e 4000 bytes ou caracteres. O tamanho padrão desta coluna é especificado em bytes.

Agora vem a pergunta, qual a diferença entre armazenar bytes ou caracteres? Quando utilizamos caracteres multibyte, como por exemplo UTF-8 (para representar caracteres específicos em múltiplas linguagens), 1 único caractere pode ser armazenado em até 3 bytes. Nestes casos, uma palavra contendo caracteres especiais, como por exemplo, FÁBIO, poderá ter mais bytes do que caracteres (a letra Á, internamente será armazenada em 2 ou 3 bytes), por isso, recomenda-se, nestes casos, especificar o armazenamento da coluna em caracteres, ao invés de bytes.

Fonte: Qual tipo de dado devo usar: CHAR, VARCHAR ou VARCHAR2?