Lad os antage, at databasens tegnsæt er UTF-8, som er den anbefalede indstilling i nyere versioner af Oracle. I dette tilfælde tager nogle tegn mere end 1 byte at gemme i databasen.
Hvis du definerer feltet som VARCHAR2(11 BYTE)
, Oracle kan bruge op til 11 bytes til lagring, men du kan faktisk ikke gemme 11 tegn i feltet, fordi nogle af dem tager mere end én byte at gemme, f.eks. ikke-engelske tegn.
Ved at definere feltet som VARCHAR2(11 CHAR)
du fortæller Oracle, at det kan bruge plads nok til at gemme 11 tegn, uanset hvor mange bytes det tager at gemme hver enkelt. Et enkelt tegn kan kræve op til 4 bytes.