Да приемем, че наборът от знаци в базата данни е UTF-8, което е препоръчителната настройка в последните версии на Oracle. В този случай някои знаци отнемат повече от 1 байт за съхранение в базата данни.
Ако дефинирате полето като VARCHAR2(11 BYTE)
, Oracle може да използва до 11 байта за съхранение, но всъщност може да не сте в състояние да съхранявате 11 знака в полето, защото някои от тях отнемат повече от един байт за съхранение, напр. неанглийски знаци.
Чрез дефиниране на полето като VARCHAR2(11 CHAR)
казвате на Oracle, че може да използва достатъчно място за съхраняване на 11 знака, без значение колко байта са необходими за съхраняването на всеки от тях. Един знак може да изисква до 4 байта.