论坛首页 综合技术论坛

Oracle之数据类型

浏览 1763 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-11-23  
数据类型:

所有内存中的数据都是2进制的, 所谓的数据类型只是后来在使用和解析的时候赋予的语义,
比如说一个内存单元的数据, 把它在cpu中进行相加就可能 是数字, 把它跟别的数据相比较或者在引用上相连就可能使字符串..

字符:
char(n)  n:=1  {n|1<=n<=2000}   byte 空格填补右边或者触发错误
varchar  尽量使用,防止语义改变
varchar2 n:=1  {n|1<=n<=2000}   byte 只存贮拥有位

双字节存储规范
nchar(n)  n:=1  {n|1<=n<=2000}   double byte 空格填补右边或者触发错误
nvarchar2 n:=1  {n|1<=n<=2000}   double byte 只存贮拥有位

long    2G
blob    128t
clob    128t
nclob   128t

数值:
int smallint integer decimal.....
底层使用number(p,s)转换高层一切数值类型,p表示精度 s表示范围, 0<p<=38
binary纯粹2进制数据, 没存储限制

日期:
date   日期和时间
timestamp(n) n秒分位  包含了秒区
timestamp(n) with [local] timezone 包含了时区

interval year to month
interval day to send

编码:
无论是字符,还是数字 都是可以显示出来的,  这具体是一个怎样的过程呢?
在键盘上敲击字母----系统接受字母后,根据相关输入法,查找此串对应的系统字符编码方式:平unicode 5e73----然后被以此存入相关文件
当需要显示的时候,根据此编码类型----查找系统中此编码代表的显示图形
所以, 一个2进制编码, 只能正常显示为一中字体, 当然,存在着相关编码的转换, 比如 gb2312- unicode
编码与编码规则:
编码是代表标志, 编码规则是转换的方式.

关于java:
java语言不可以包含超出2字节的字符构成代码,在utf-8类转换中, 超出2字节将会throw个异常
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics