(转载)oracle中CHAR与VARCHAR2

char表示定长存储,长度不够的用空格补充,最多可存储2000字节
varchar2表示不定长存储,它表示字段定义长度小于等于你的存储数据长度
两者各有优缺点,最多可存储4000字节

varchar2和char类型支持两种指定长度的方法:
     用字节指定:varchar2(12 byte):表示支持最多12字节的数据
     用字符指定:varchar2(12 char):表示支持最多12字符数据.可能是多达40字节的信息.
该定义的默认行为是根据参数:   NLS_LENGTH_SEMANTICS来指定默认值的.

通俗一点讲,对于双字节存储的中文来说,varchar2(12 byte)最多能存储6个中文汉字,varchar2(12 char)可以存储12个汉字.

原文地址:https://www.cnblogs.com/rethink/p/2396476.html