日期:2014-05-17  浏览次数:20885 次

oracle数据类型的区别?
这是9I中的数据类型,请帮忙解释一下

char     固定长度的
varchar2     可变长度的
nchar     这个是不是支持国际码unicode的数据类型?
nvarchar2   ??
number   ??数字类型?可是整型或浮点型?
date     日期啦
long     长整型?但在ORACLE中是不是长字符串类型啦?
raw   不懂,
long   raw??
rowid??
blob   大二进制对象类型
clob   这个不懂,和BLOG有什么区别?
nclob   ??
bfile   ??
urowid   ??
float   浮点,小数型,

请求大家帮忙,我看书了,但解释不清,希望大家用实践   经验解释一下,感谢

------解决方案--------------------
char 固定长度的
===================================
如char(3),输入值为 'a ',会自动补2空格

varchar2 可变长度的
===================================
以实际存入值的长度为准

nchar 这个是不是支持国际码unicode的数据类型?
nvarchar2 ??
============================================
这两个与上面两个意思一样,只不过它们支持unicode


余下的要解释太多了,最好自己建个表实践:有时候,书看过了,看不懂并不是书本解释不清,而是自己没有思考,呵呵,说得太直了,LZ莫怪:)
------解决方案--------------------
number:整型或浮点型由自己决定。
long:可变长的字符串数据。没用过,据说报废了。
raw:没用过。好像跟lob差不多。
rowid:唯一标识表中的一条记录,存放的是这条数据在数据库中存放的物理地址。
blob:用于存储二进制数据
clob:用来存储单字节的字符数据
nclob:用来存储多字节的字符数据
bfile:存储在文件中的二进制数据,但该文件不包含在数据库内。就比如数据是存储在硬盘上其他位置,数据库中只放数据存放的目录。
urowid:没用过,估计跟rowid一样。



------解决方案--------------------
char 固定长度的字符串
varchar2 可变长度的字符串
nchar 固定长度的NLS字符类型(NLS字符类型是存储来自不同国家的字符集)
nvarchar2 可变长度的NLS字符类型
number 存储数字,包括整数和浮点数
date 日期类型
long 字符串,类似于mssql中的text
raw 存储二进制数据的数据类型。在不同的系统中进行数据传递,使用raw不会进行字符集转换
long raw 类似raw,最大长度不同而已
rowid 存储行标识符,其长度随操作系统不同而不同。(urowid,即存储物理行标识符(即rowid),也可存储逻辑行标识符)
blob 大二进制对象类型
clob long的升级
nclob NLS字符类型的clob
bfile 存储在文件中的二进制数据,但该文件不包含在数据库内。就比如数据是存储在硬盘上其他位置,数据库中只放数据存放的目录。
float 浮点,小数型

需要注意的是,要把PL/SQL中的数据类型,和ORACLE数据库中的数据类型区分学习,虽然绝大部分相同,而且绝大部分不同的是在最大长度上