Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1969879
  • 博文数量: 606
  • 博客积分: 9991
  • 博客等级: 中将
  • 技术积分: 5725
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-17 19:07
文章分类

全部博文(606)

文章存档

2011年(10)

2010年(67)

2009年(155)

2008年(386)

分类: Oracle

2009-06-04 18:08:03

数据类型

取值范围

描述

备注

Char(n)

n=1 to 2000字节

存储固定长度的字符串。默认长度为1

 

Varchar2(n)

n=1 to 4000字节

可变长的字符串,具体定义时指明最大长度n
这种数据类型可以放数字、字母以及ASCII码字符集(或者EBCDIC等系统接受的字符集标准)中的所有符号。
如果数据长度没有达到最大值nOracle会根据数据大小自动调节字段长度,
如果你的数据前后有空格,Oracle8会自动将其删去。VARCHAR2是最常用的数据类型
可做索引的最大长度3209Varchar2类型的字段长度可以达到4000字节,Varchar2类型的变量长度可以达到32676字节。

节省表空间:一个空的varchar2(2000)字段和一个空的varchar2(2)字段所占用的空间是一样的。

Nchar(n)

n=1 to 2000字节

在创建数据库时,需要指 定所使用的字符集,以便对数据库中数据进行编码。还可以指定一个辅助的字符集[即本地语言集(National Language Set,简称NLS)]。存储固定长度的字符串。

 与char的差别是,Nchar是基于NLS的国家字符集,实际开发很少用。

Nvarchar2(n)

n=1 to 4000字节

在创建数据库时,需要指定所使用的字符集,以便对数据库中数据进行编码。还可以指定一个辅助的字符集[即本地语言集(National Language Set,简称NLS)]。存储变长字符串。

 与varchar2的差别是,Nvarchar2是基于NLS的国家字符集,实际开发很少用。

Long

最大2G

可变长字符列,最大长度限制是2GB,用于不需要作字符串搜索的长串数据,如果要进行字符搜索就要用varchar2类型。
long
是一种较老的数据类型,将来会逐渐被BLOBCLOBNCLOB等大的对象数据类型所取代。

在不同系统间移动需要进行转换。

Clob

最大4G

存储单字节字符型数据。适用于存储超长文本。

 

Nclob

最大4G

存储多字节国家字符型数据。适用于存储超长文本。

 

Blob

最大4G

存储二进制数据。适用于存储图像、视频、音频等。

 

Bfile

最大长度是4GB

在数据库外部保存的大型二进制对象文件,最大长度是4GB。这种外部的LOB类型,通过数据库记录变化情况,但是数据的具体保存是在数据库外部进行的。

Oracle可以读取、查询BFILE,但是不能写入,不参与事务。

 

Number(m,n)

m=1 to 38
n=-84 to 127

存储整数或浮点数。可变长的数值列,允许0、正值及负值,m是所有有效数字的位数,n是小数点以后的位数。
如:number(5,2),则这个字段的最大值是99,999,如果数值超出了位数限制就会被截取多余的位数。
如:number(5,2),但在一行数据中的这个字段输入575.316,则真正保存到字段中的数值是575.32
如:number(3,0),输入575.316,真正保存的数据是575

 

Date

 

数据类型用来存储日期和时间格式的数据。默认格式:DD-MON-YYYY。从公元前471211日到公元47121231日的所有合法日期

 

Row(n)

n=1 to 2000

可变长二进制数据,在具体定义字段的时候必须指明最大长度nOracle用这种格式来保存较小的图形文件或带格式的文本文件,如Miceosoft Word文档。
raw
是一种较老的数据类型,将来会逐渐被BLOBCLOBNCLOB等大的对象数据类型所取代。

 

LongRow

最大长度是2GB

可变长二进制数据,最大长度是2GBOracle用这种格式来保存较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频、视频等非文本文件。
在同一张表中不能同时有long类型和long raw类型,long raw也是一种较老的数据类型,将来会逐渐被BLOBCLOBNCLOB等大的对象数据类型所取代。

 

Rowid

 

数据类型ORACLE数据表中的一个伪列,它是数据表中每行数据内在的唯一的标识。

 


 
SQL ServerOracle数据类型的对应关系当数据从SQL SERVER2000ORACLE 10g迁移时,可以做如下调整:
SQL SERVER                                      ORACLE
bigint   8                               NUMBER(19)
binary   50                              RAW(50)
bit      1                                  NUMBER(2)
char     10                                CHAR(10)
datetime 8                             DATE
decimal  9                              NUMBER(18)
float    8                                BINARY_DOUBLE
image    16                               BLOB
int      4                                  NUMBER(10)
money    8                                NUMBER(19,4)
nchar    10                               NCHAR(10)
ntext    16                               NCLOB
numeric  9                              NUMBER(18)
nvarchar 50                            NVARCHAR2(50)
real     4                                 BINARY_FLOAT
smalldatetime 4                        DATE
smallint  2                             NUMBER(5)
smallmoney    4                           NUMBER(10,4)
sql_variant                           BLOB
text      16                                CLOB
timestamp 8                            RAW(8)
tinyint    1                              NUMBER(3)
uniqueidentifier  16                    BLOB
varbinary  50                           RAW(50)
varchar    50                             VARCHAR2(50)
阅读(734) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~