MySQL和Oracle数据类型比较

1.整数类型

 

数据库系统 类型 说明
MySQL tinyint  [unsigned] 一个很小的整数。有符号范围:-128~127,无符号范围:0~255
  smallint [unsigned] 一个小整数。有符号范围:-32768~32767,无符号范围:0~65535
  mediumint  [unsigned] 一个中等大小整数 。有符号范围:-8388608~8388607,无符号范围:0~16777215
  int  [unsigned] 一个正常大小整数。有符号范围:-2147483648~2147483647,无符号范围:0~4294967295
  integer  [unsigned integer是int的同义词。
  bigint  [unsigned]

一个大整数。有符号范围:-2^63~2^63-1,无符号范围:0~2^64

Oracle number(10) oracle中没有专门的整数类型,因此需要使用Number(10)来表示整数。

2.数值类型

数据库系统 类型 说明
MySQL folat  [(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.
Oracle number(m,n)

数值型,m:所有有效数字的位数,n:小数点以后的位数。

如:number(5,2) 这个字段的最大值是99999,如果超出了位数限制就会被截取多余的位数。

如:number(3,0)  输入575.316,真正保存的是575

如:number(5,2) 输入575.316,真正保存的是575.32

3字符相关类型

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

4.日期时间类型

数据库系统 类型 说明
MySQL date "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
Oracle date 日期时间数据
  timestamp 时间戳

5.二进制类型

数据库系统 类型 说明
MySQL blob  
Oracle blob  

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/cs520/blog/900158

你可能感兴趣的:(MySQL和Oracle数据类型比较)