Giả sử bộ ký tự cơ sở dữ liệu là UTF-8, đây là cài đặt được khuyến nghị trong các phiên bản gần đây của Oracle. Trong trường hợp này, một số ký tự cần nhiều hơn 1 byte để lưu trữ trong cơ sở dữ liệu.
Nếu bạn xác định trường là VARCHAR2(11 BYTE)
, Oracle có thể sử dụng tối đa 11 byte để lưu trữ, nhưng bạn có thể không thực sự lưu trữ được 11 ký tự trong trường, vì một số ký tự trong số đó chiếm nhiều hơn một byte để lưu trữ, ví dụ:các ký tự không phải tiếng Anh.
Bằng cách xác định trường là VARCHAR2(11 CHAR)
bạn nói với Oracle rằng nó có thể sử dụng đủ không gian để lưu trữ 11 ký tự, bất kể cần bao nhiêu byte để lưu trữ mỗi ký tự. Một ký tự có thể yêu cầu tối đa 4 byte.