被CHAR和VARCHAR2实战打脸了。。。。
记录一下这个知识点,避免以后再次入坑。由于其他系统字段扩展,所以我们系统也需要扩展对应字段,我们系统里之前有CHAR和VARCHAR2两个类型,扩展的时候还是按原字段的类型调整了大小,结果有一个表的字段由于设置的是VARCHAR2(20),所以存储不下来自其他表的改字段的内容,设置的是CHAR(32),导致了报错,由于这一个错误,重新执行的数据清洗,和数据仓库其他关联过程。特此记录,希望不要再次范这种错误,也希望大家以此为戒。
CHAR:固定分配存储大小,设置多长就存储多长,不够的用空格补位。
VARCHAR2:系统根据存储的内容动态分配存储大小,但是最大长度不能超过设置的长度值。
CHAR的优势在系统执行效率要高于VARCHAR2,后者的优势在于使用起来相对灵活。