char(size):
数据长度为size,不足的用空格补,超出后报错。char类型的数据最大长度是2000字节或字符,每个字符长度依赖于数据库字符集,数据按字符存储还是字节存储取决于nls_length_semantics参数。如果每个字符占两个字节,而nls_length_semantics参数值为byte,这样size最大可为1000。
nchar:
不大明白,oracle文档上说:The NCHAR datatype is a Unicode-only datatype,支持2000个字节长度,其它与char无区别。
varchar2(size):
一般情况下所有字符均按2个字节处理,但是如果是UTF-8编码的话,汉字就会占3个字节,size表示可存储的字节。最大4000,最小1。
varchar(size)
汉字按两个字节保存,英文字符,数字等按一个字节存储,size表示可存储字节数,最大4000,最小1,oracel更推荐用varchar2。
nvarchar2(size)
存储可变长字符,可存储4000个字节的内容,最小为1,size表示的是字符数,而不是字节。
nvarchar(size)
存储可变长字符,可存储4000个字节的内容,最小为1,size表示的是字符数,而不是字节,中文字符一般按2个字节保存,而英文,数字按1个字节保存。