CHAR : CHAR « PL SQL Data Types « Oracle PL/SQL Tutorial






  1. The CHAR datatype is used to hold fixed-length character string data.
  2. A CHAR string always contains the maximum number of characters.
  3. Strings shorter than the maximum length are padded with spaces.
  4. The CHAR datatype typically uses 1 byte per character.
  5. The CHAR datatype has a maximum length of 32767 bytes.

The Syntax for the CHAR Datatype

variable_name CHAR(size);

variable_name is whatever you want to call the variable.

size is the size, in bytes, of the string.

Here are some examples:

employee_name CHAR(32);
employee_comments CHAR(10000);

employee_name := 'James Gennick';
employee_name := 'Jeff Gennick';

Because CHAR variables are fixed length and the preceding strings are each less than 32 characters long, they will be right-padded with spaces.

Thus the actual values in employee_name would be

'James                    '

and

'Jeff                     '

When doing string comparisons, the trailing spaces count as part of the string.

Oracle has one subtype defined for the CHAR datatype, and it is called CHARACTER.

It has exactly the same meaning as CHAR.









21.2.CHAR
21.2.1.CHAR
21.2.2.CHAR type variable
21.2.3.Compare CHAR and VARVHAR32 variables for equality
21.2.4.Constants are compared using blank-padded comparison semantics, so the trailing spaces won't affect the result.
21.2.5.Fixed length strings are compared with blank-padded comparison semantic
21.2.6.Compare fixed length string and a literal
21.2.7.Compare char against varchar, and the trailing spaces do matter.
21.2.8.Assigning an empty string to the character variable is exactly the same as assigning NULL to it.