Oracle 数据类型 vs MySQL 数据类型
2011-10-28 16:51
232 查看
Oracle 数据类型 | ||
数据类型 | 参数 | 描述 |
char(n) | n=1 to 2000字节 | 定长字符串,n字节长,如果不指定长度,缺省为1个字节长(一个汉字为2字节),单位是字节 |
nchar | n=1 to 2000字节 | 根据字符集而定的固定长度字符串,最大长度2000字节,单位是字符(一个汉字为一个字符) |
varchar2(n) | n=1 to 4000字节 | 可变长的字符串,具体定义时指明最大长度n, 这种数据类型可以放数字、字母以及ASCII码字符集(或者EBCDIC等数据库系统接受的字符集标准)中的所有符号。 如果数据长度没有达到最大值n,Oracle 8i会根据数据大小自动调节字段长度, 如果你的数据前后有空格,Oracle 8i会自动将其删去。VARCHAR2是最常用的数据类型。 可做索引的最大长度3209。 |
nvarchar2 | n=1 to 4000字节 | 根据字符集而定的可变长度字符串,最大长度4000字节 |
number(m,n) | m=1 to 38 n=-84 to 127 | 可变长的数值列,允许0、正值及负值,m是所有有效数字的位数,n是小数点以后的位数。 如:number(5,2),则这个字段的最大值是999.99,如果数值超出了位数限制就会被截取多余的位数。 如:number(5,2),但在一行数据中的这个字段输入575.316,则真正保存到字段中的数值是575.32。 如:number(3,0),输入575.316,真正保存的数据是575。 |
date | 无 | 从公元前4712年1月1日到公元4712年12月31日的所有合法日期, Oracle 8i其实在内部是按7个字节来保存日期数据,在定义中还包括小时、分、秒。 缺省格式为DD-MON-YY,如07-11月-00 表示2000年11月7日。 |
long | 无 | 可变长字符列,最大长度限制是2GB,用于不需要作字符串搜索的长串数据,如果要进行字符搜索就要用varchar2类型。 long是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。 |
raw(n) | n=1 to 2000 | 可变长二进制数据,在具体定义字段的时候必须指明最大长度n,Oracle 8i用这种格式来保存较小的图形文件或带格式的文本文件,如Miceosoft Word文档。 raw是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。 |
long raw | 无 | 可变长二进制数据,最大长度是2GB。Oracle 8i用这种格式来保存较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频、视频等非文本文件。 在同一张表中不能同时有long类型和long raw类型,long raw也是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。 |
blob clob nclob | 无 | 三种大型对象(LOB),用来保存较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频、视频等非文本文件,最大长度是4GB。 LOB有几种类型,取决于你使用的字节的类型,Oracle 8i实实在在地将这些数据存储在数据库内部保存。 可以执行读取、存储、写入等特殊操作。 |
bfile | 无 | 在数据库外部保存的大型二进制对象文件,最大长度是4GB。 这种外部的LOB类型,通过数据库记录变化情况,但是数据的具体保存是在数据库外部进行的。 Oracle 8i可以读取、查询BFILE,但是不能写入。 大小由操作系统决定。 |
其中的长度以字节为单位
名称 | 长度 | 用法 |
TINYINT(M) BIT,BOOL,BOOLEAN | 1 | 如果为无符号数,可以存储从0到255的数; 否则可以存储从-128到127的数。 |
SMALLINT(M) | 2 | 如果为无符号数,可以存储从0到65535的数; 否则可以存储从-32768到32767的数。 |
MEDIUMINT(M) | 3 | 如果为无符号数,可以存储从0到16777215的数;否则可以存储从-8388608到8388607的数 |
INT(M) INTEGER(M) | 4 | 如果为无符号数,可以存储从0到4294967295的数,否则可以存储从-2147483648到2147483647的数。 |
BIGINT(M) | 8 | 如果为无符号数,可以存储从0到18446744073709551615的数,否则可以存储从-9223372036854775808到9223372036854775807的数。 |
FLOAT(precision) | 4或8 | 这里的precision是可以直达53的整数。如果precision<=24则转换为FLOAT,如果precision>24并且precision<=53则转换为DOUBLE。 |
FLOAT(M,D) | 4 | 单精度浮点数。 |
DOUBLE(M,D), DOUBLE PRECISION, REAL | 8 | 双精度浮点。 |
DECIMAL(M,D), DEC,NUMERIC,FIXED | M+1或M+2 | 未打包的浮点数。 |
DATE | 3 | 以YYYY-MM-DD的格式显示。 |
DATETIME HH:MM:SS | 8 | 以YYYY-MM-DD的格式显示。 |
TIMESTAMP | 4 | 以YYYY-MM-DD的格式显示。 |
TIME | 3 | 以HH:MM:SS的格式显示。 |
YEAR | 1 | 以YYYY的格式显示。 |
CHAR(M) | M | 定长字符串。 |
VARCHAR(M) | 最大M | 变长字符串。M<=255. |
TINYBLOB, TINYTEXT | 最大255 | TINYBLOB为大小写敏感,而TINYTEXT不是大小写敏感的。 |
BLOB, TEXT | 最大64K | BLOB为大小敏感的,而TEXT不是大小写敏感的。 |
MEDIUMBLOB, MEDIUMTEXT | 最大16M | MEDIUMBLOB为大小写敏感的,而MEDIUMTEXT不是大小敏感的。 |
LONGBLOB, LONGTEXT | 最大4G | LONGBLOB为大小敏感的,而LONGTEXT不是大小敏感的。 |
ENUM(VALUE1,….) | 1或2 | 最大可达65535个不同的值。 |
SET(VALUE1,….) | 可达8 | 最大可达64个不同的值。 |
相关文章推荐
- C# 数据类型映射 (SQLite,MySQL,MSSQL,Oracle)
- Mysql,Oracle,Java数据类型对应
- SQL及Oracle和MySQL的数据类型详解
- Oracle的Timestamp数据类型与Mysql的Timestamp数据类型兼容的经验
- MySQL与Oracle 差异比较之一数据类型
- MySQL与Oracle数据类型对应关系(表格形式)
- Oracle、MySQL、Java 数据类型对应表
- SQL及Oracle和MySQL的数据类型详解
- Mysql Oracle Java 数据类型对照
- MyBatis JdbcType 与Oracle、MySql数据类型对应关系详解
- MYSQL 与 Oracle 之间的数据类型转换
- Mysql Oracle Java 数据类型对照
- mysql与oracle常用函数及数据类型对比00持续补充
- Oracle、SQL Server、MySQL数据类型
- Mysql,Oracle,Java数据类型对应
- MySQL与Oracle 数据类型比较
- oracle和mysql数据类型的总结
- Oracle,MySQL,SQL Server数据库的数据类型
- Mysql,Oracle,Java数据类型对应
- hibernate下oracle转mysql中数据类型的转换