A basic answer from a chela(student)
On disk(db), varchar(100) takes as many bytes as required; no trailing spaces; and control bytes denoting its length; as opposed to char(100) which always takes 100 bytes even if all characters are spaces. When you say select vc from tbl , sql uses 100 characters to DISPLAY the field; basically a fixed size DISPLAY; if you use RTRIM(VC) and vc contained 10 chars, you get 10chars.store_name is varchar(35)
db2 "select concat(rtrim(store_name), 'b') from admin.store"
Sunmar b -- store_name taking 35 bytes
db2 "select concat(rtrim(store_name), 'b') from admin.store"
Sunmarb
rtrim useful to concatenate first_name, MI, last_name to get the whole name