Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Diferença entre BYTE e CHAR nos tipos de dados da coluna


Vamos supor que o conjunto de caracteres do banco de dados seja UTF-8, que é a configuração recomendada nas versões recentes do Oracle. Nesse caso, alguns caracteres levam mais de 1 byte para serem armazenados no banco de dados.

Se você definir o campo como VARCHAR2(11 BYTE) , o Oracle pode usar até 11 bytes para armazenamento, mas talvez você não consiga armazenar 11 caracteres no campo, porque alguns deles levam mais de um byte para armazenar, por exemplo, caracteres não ingleses.

Ao definir o campo como VARCHAR2(11 CHAR) você diz ao Oracle que ele pode usar espaço suficiente para armazenar 11 caracteres, não importa quantos bytes sejam necessários para armazenar cada um. Um único caractere pode exigir até 4 bytes.