oracle 数据类型介绍 |
|
数据类型 | 取值范围 | 描述varchar2最大长度 | 备注 | Char(n) | n=1 to 2000字节 | 存储固定长度的字符串。默认长度为1。 | | Varchar2(n) | n=1 to 4000字节 | 可变长的字符串,具体定义时指明最大长度n, 这种数据类型可以放数字、字母以及ASCII码字符集(或者EBCDIC等数据库系统接受的字符集标准)中的所有符号。 如果数据长度没有达到最大值n,Oracle会根据数据大小自动调节字段长度, 如果你的数据前后有空格,Oracle8会自动将其删去。VARCHAR2是最常用的数据类型。 可做索引的最大长度3209。Varchar2类型的字段长度可以达到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是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。 | 在不同系统间移动需要进行转换。 | 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。从公元前4712年1月1日到公元4712年12月31日的所有合法日期 | | Row(n) | n=1 to 2000 | 可变长二进制数据,在具体定义字段的时候必须指明最大长度n,Oracle用这种格式来保存较小的图形文件或带格式的文本文件,如Miceosoft Word文档。 raw是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。 | | LongRow | 最大长度是2GB。 | 可变长二进制数据,最大长度是2GB。Oracle用这种格式来保存较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频、视频等非文本文件。 在同一张表中不能同时有long类型和long raw类型,long raw也是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。 | | Rowid | | 数据类型是ORACLE数据表中的一个伪列,它是数据表中每行数据内在的唯一的标识。 | | | | | |
SQL Server和Oracle数据类型的对应关系当数据从SQL SERVER2000向ORACLE 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) | |
|
|
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论