Number
对于Number按照科学记数的方式进行存储,Example: 321->3.21 * 10²
1byte用来存储指数,2bytes用来存储有效数字;
对于column: Number(p,s) 所占用的bytes可以用以下公式计算:
ROUND((length(p)+s)/2))+1
正数 S=0,负数 s=1
wheres equals zero if the number is positive, ands equals 1 if the number is negative.
Date
对于Date类型数据,Oracle使用固定的7bytes来存储,分别对应:
century, year, month, day, hour, minute, and second.
Char&Varchar
对于字符型数据,存储数值与字符集(character set or code page)息息相关,
并与字符的表达方式有关;
1. 以byte表达 --varchar2(10 byte) substrb(******,1,5)
2. 以Character表达 --varchar2(10 char) substr(******,1,5)
在UTF8环境下,存储5个中文及5个字母,那么不同的表达方式如下:
byte: (5*3 bytes) + (5*1 byte) = 20 bytes
Character: 10 characters
参数 nls_lenght_semantecs 决定了column define使用byte or Character方式;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/45259/viewspace-134877/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/45259/viewspace-134877/