一、oracle中varchar与varchar2的区别
varchar保留,Oracle以支持null将来与空字符串之间的区别,这是ANSI标准规定的。
varchar2不区分null和空字符串,也永远不会。
如果您依赖空字符串并且null是同一件事,则应使用varchar2。
注:https://www.imooc.com/wenda/detail/594252
https://www.cnblogs.com/anningkang/p/oracle.html
varchar 存放定长的字符数据,最长2000個字符;
varchar2 存放可变长字符数据,最大长度为4000字符。
varchar2 把空串等同于null处理,而varchar仍按照空串处理;
varchar2 字符要用几个字节存储,要看数据库使用的字符集,
varchar2是oracle提供的独特的数据类型oracle保证在任何版本中该数据类型向上和向下兼容但不保证varchar,这是因为varchar是标准sql提供的数据类型有可能随着sql标准的变化而改变
varchar2和varchar的目前没有区别,不过ocacle以后的版本就不支持varchar类型,如果想新版本的数据库兼容就不要用varchar,如果想和其它数据库兼容就不要用varchar2
大部分情况下建议使用varchar2类型,可以保证更好的兼容性。
注:https://developer.aliyun.com/article/637142
二、oracle中对null的处理
处理方法有nvl函数,比较方法是is null或者is not null。
注:https://blog.csdn.net/Eleven204/article/details/6613925
https://www.cnblogs.com/OliverQin/p/13253548.html