您的位置:首页 > 数据库 > Oracle

MySQL和Oracle数据类型比较

2017-05-15 00:00 288 查看

1.整数类型

数据库系统类型说明
MySQLtinyint [unsigned]一个很小的整数。有符号范围:-128~127,无符号范围:0~255
smallint [unsigned]一个小整数。有符号范围:-32768~32767,无符号范围:0~65535
mediumint [unsigned]一个中等大小整数 。有符号范围:-8388608~8388607,无符号范围:0~16777215
int [unsigned]一个正常大小整数。有符号范围:-2147483648~2147483647,无符号范围:0~4294967295
integer [unsignedinteger是int的同义词。
bigint [unsigned]一个大整数。有符号范围:-2^63~2^63-1,无符号范围:0~2^64
Oraclenumber(10)oracle中没有专门的整数类型,因此需要使用Number(10)来表示整数。

2.数值类型

数据库系统类型说明
MySQLfolat [(m,d)}单精度浮点数字。m:显示宽度,d:小数的位数。没有参数的float或有<24的一个参数表示一个单精度浮点数字。
double [(m,d)]双精度浮点数字。m:显示宽度,d:小数的位数。没有参数的double代表一个双精度浮点数字。
real [(m,d)]real是double的同义词。
decimal[(m,d)]一个未压缩的浮点数字,数字作为一个字符串被存储,值得每一位使用一个字符。小数点,并且对于负数,“-”符号不在M中计算。如果D是0,值将没有小数点或小数部分。decimal值得最大范围和double相同,但是对一个给定的decimal列,实际的范围可以通过m和d的选择被限制。如果d被省略,它默认设置为0,如果m被省略,它默认为10.
Oraclenumber(m,n)数值型,m:所有有效数字的位数,n:小数点以后的位数。
如:number(5,2) 这个字段的最大值是99999,如果超出了位数限制就会被截取多余的位数。
如:number(3,0) 输入575.316,真正保存的是575
如:number(5,2) 输入575.316,真正保存的是575.32

3字符相关类型

数据库系统类型说明
MYSQLchar(m)固定长度字符串,长度为m。
varchar(m)可变长度字符串,最大长度为m。
tinytext小的可变长度字符串,最大长度2^8-1字节。
text可变长度大字符串,最大长度2^16-1字符。
medium
3ff0
text
中等可变长度字符串,最大长度2^24-1字节。
longtext大文本可变长度字符串,最大长度2^32-1字节。
enum("value1","value2",...)枚举字符串,列可被赋予某个枚举成员。
set("value1","value2",...)集合字符串:列可被赋予多个集合成员。
ORACLEchar(m)固定长度字符串,长度为m。
varchar2(m)可变长度字符串,最大长度为m。
nvarchar(m)可变长度国际化字符串,最大长度为4GB。
clob可变长度大字符串,最大长度2^16-1字节。
nclob可变长度国际化大字符串,最大长度为4GB。

4.日期时间类型

数据库系统类型说明
MySQLdate"yyy-mm-dd"格式表示的日期值。取值范围:”1000-01-01“到”9999-12-31”
time"hh:mm:ss"格式表示的时间值。取值范围:“-838:59:59”到“838:59:59”
datetime"yyyy-mm-dd hh:mm:ss"格式表示的日期时间值。取值范围:"1000-01-01 00:00:00"到"9999-12-31 23:59:59"
timestamp"yyyymmddhhmmss"格式表示的时间戳值。取值范围:19700101000000到2037年的某个时刻。
year"yyyy"格式的年份值。取值范围:1901-2155
Oracledate日期时间数据
timestamp时间戳

5.二进制类型

数据库系统类型说明
MySQLblob
Oracleblob
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle mysql区别