本文主要是介绍varchar2(n)与varchar2(n char)的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在oracle中varchar2(n)与varchar2(n char)的主要区别就是所占用的存储空间不同。
举个栗子:
如下sql创建两张表
发现创建完后他们的数据长度是不同的,varchar2(2 char)的字段占用了8个字节,而varchar2(2)只占了两个字节。后google发现varchar2(n)所占具体字节数与NLS_LENGTH_SEMANTICS这个参数有关,默认情况下varchar2(2) <==> varchar2(2 bytes), 因为NLS_LENGTH_SEMANTICS的默认值为byte。
接下来我们修改NLS_LENGTH_SEMANTICS的值,在创建表test3,一切困惑就都解开了。
这篇关于varchar2(n)与varchar2(n char)的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!