Starting in DB2® Cancun Release 10.5.0.4 database columns that hold character data have a string unit attribute that you use to define their string data type.
Historically, database columns that hold character data have been defined as storing a number of bytes. Within a single-byte character set, the number of bytes is equivalent to the number of characters that can be stored in the column. The string unit of the column data type is a byte, referred to as octets. This approach can cause problems when moving out of a single-byte character set and into multibyte character sets because the number of characters that you can store in a column depends on the encoding of those characters.
The string unit attribute is supported in the definition of table columns, routine arguments, array types, distinct types, row types, and variables and in the target data type of a CAST specification. You can use the string_units database configuration parameter or the NLS_STRING_UNITS global variable to make data types in string units CODEUNITS32 the default, or you can add them to a schema as needed by using the CODEUNITS32 keyword. You can use the ALTER TABLE statement to modify the string unit of table columns.
Since CHAR is a fixed-length type, DB2 pads the string with blanks to complete the defined length. The defined length here is 5 * CODEUNITS32, which is 20 bytes and is stored on the lower level / page - disk storage. VARCHAR(x CODEUNITS16) would mean x 2-byte characters, VARCHAR(x CODEUNITS32) would mean x 4-byte characters, and VARCHAR(x OCTETS) would mean x bytes.