一、CHAR 与 VARCHAR2 的区别
CHAR是定长的,VARCHAR2是变长,都可以存储字符串。
注意:使用CHAR的时候,Select查询要注意定长的格式,查询字符串的长度要刚好,多了少了都不能查不到数据。
例如:字段A为CHAR(10)。存“aaabbb”,长度不满10,Oracle会用空格补满10位。你用"aaabbb"作为查询字段时是查不出来的。
二、VARCHAR 与 VARCHAR2 的区别
VARCHAR 是标准sql里的,VARCHAR2 是Oracle所提供的独有的数据类型。
注意:varchar对空串不处理,varchar2将空串当做null来处理。varchar存放固定长度的字符串,最大长度是2000,varchar2是存放可变长度的字符串,最大长度是4000。
例如:mysql 就可以选用 VARCHAR ,Oracle 就可以选用 VARCHAR2 会好一点
笔记参考:https://blog.csdn.net/zhowlay/article/details/125143684