1,标准SQL数据类型

BINARY 每个字符占一个字节 任何类型的数据都可存储在这种类型的字段中。不需数据转换(例如,转换到文本数据)。数据输入二进制字段的方式决定了它的输出方式。
BIT 1 个字节0 和 1 ,以及只包含这两个数值之一的字段。
TINYINT 1 个字节 介于 0 到 255 之间的整型数。
MONEY 8 个字节 介于 – 922,337,203,685,477.5808 到 922,337,203,685,477.5807 之间的符号整数。
DATETIME 8 个字节 介于 100 到 9999 年的日期或时间数值。
UNIQUEIDENTIFIER 128 个位 用于远程过程调用的唯一识别数字。
REAL 4 个字节单精度浮点数,负数范围是从 –3.402823E38 到 –1.401298E-45,正数从1.401298E-45 到 3.402823E38,和 0。
SMALLINT 2 个字节 介于 –32,768 到 32,767 的短整型数。
INTEGER 4 个字节介于 –2,147,483,648 到 2,147,483,647 的长整型数。
DECIMAL 17 个字节容纳从 1028 - 1到 - 1028 - 1. 的值的精确的数字数据类型。你可以定义精度 (1 - 28) 和 符号 (0 - 定义精度)。缺省精度和符号分别是18和0。
TEXT 每一字符两字节(参见注意) 从零到最大 2.14 千兆字节。
IMAGE 视实际需要而定 从零到最大 2.14 千兆字节。用于 OLE 对象。
CHARACTER 每一字符两字节(参见注意) 长度从 0 到 255 个字符。

2,Oracle数据类型

类型 含义 存储描述 备注
CHAR 固定长度字符串 最大长度2000bytes  
VARCHAR2 可变长度的字符串, 最大长度4000bytes 可做索引的最大长度749
NCHAR 根据字符集而定的固定长度字符串 最大长度2000bytes  
NVARCHAR2 根据字符集而定的可变长度字符串 最大长度4000bytes  
DATE 日期(日-月-年) DD-MM-YY(HH-MI-SS),经过严格测试,无千虫问题  
TIMESTAMP 日期(日-月-年) DD-MM-YY(HH-MI-SS:FF3),经过严格测试,无千虫问题 与DATE相比较,TIMESTAMP有小数位秒信息
LONG 超长字符串 最大长度2G,足够存储大部头著作  
RAW 固定长度的二进制数据 最大长度2000bytes 可存放多媒体图象声音等
LONG RAW 可变长度的二进制数据 最大长度2G 可存放多媒体图象声音等
BLOB 二进制数据 最大长度4G  
CLOB 字符数据 最大长度4G  
NCLOB 根据字符集而定的字符数据 最大长度4G  
BFILE 存放在数据库外的二进制数据 最大长度4G  
ROWID 数据表中记录的唯一行号 10bytes ********.****.****格式,*为0或1
NROWID 二进制数据表中记录的唯一行号 最大长度4000bytes  
NUMBER(P,S) 数字类型 P为整数位,S为小数位  
DECIMAL(P,S) 数字类型 P为整数位,S为小数位  
INTEGER 整数类型 小的整数  
FLOAT 浮点数类型 NUMBER(38),双精度  
REAL 实数类型 NUMBER(63),精度更

3,SQL Server数据类型

第一大类:整数数据

bit:bit数据类型代表0,1或NULL,就是表示true,false.占用1byte.
int:以4个字节来存储正负数.可存储范围为:-2^31至2^31-1.
smallint:以2个字节来存储正负数.存储范围为:-2^15至2^15-1
tinyint: 是最小的整数类型,仅用1字节,范围:0至此^8-1

第二大类:精确数值数据

numeric:表示的数字可以达到38位,存储数据时所用的字节数目会随着使用权用位数的多少变化.
decimal:和numeric差不多

第三大类:近似浮点数值数据

float:用8个字节来存储数据.最多可为53位.范围为:-1.79E+308至1.79E+308.
real:位数为24,用4个字节,数字范围:-3.04E+38至3.04E+38

第四大类:日期时间数据

datatime:表示时间范围可以表示从1753/1/1至9999/12/31,时间可以表示到3.33/1000秒.使用8个字节.
smalldatetime:表示时间范围可以表示从1900/1/1至2079/12/31.使用4个字节.

第五大类:字符串数据

char:长度是设定的,最短为1字节,最长为8000个字节.不足的长度会用空白补上.
varchar:长度也是设定的,最短为1字节,最长为8000个字节,尾部的空白会去掉.
text:长宽也是设定的,最长可以存放2G的数据.

第六大类:Unincode字符串数据

nchar:长度是设定的,最短为1字节,最长为4000个字节.不足的长度会用空白补上.储存一个字符需要2个字节.
nvarchar:长度是设定的,最短为1字节,最长为4000个字节.尾部的空白会去掉.储存一个字符需要2个字节.
ntext:长度是设定的,最短为1字节,最长为2G.尾部的空白会去掉,储存一个字符需要2个字节.

第七大类:货币数据类型

money:记录金额范围为:-92233720368577.5808至92233720368577.5807.需要8 个字节.
smallmoney:记录金额范围为:-214748.3648至214748.36487.需要4个字节.

第八大类:标记数据

timestamp:该数据类型在每一个表中是唯一的!当表中的一个记录更改时,该记录的timestamp字段会自动更新.
uniqueidentifier:用于识别数据库里面许多个表的唯一一个记录.

第九大类:二进制码字符串数据

binary:固定长度的二进制码字符串字段,最短为1,最长为8000.
varbinary:与binary差异为数据尾部是00时,varbinary会将其去掉
image:为可变长度的二进制码字符串,最长2G.

4,MySQL数据类型

1、整型

MySQL数据类型 含义(有符号)
tinyint(m) 1个字节 范围(-128~127)
smallint(m) 2个字节 范围(-32768~32767)
mediumint(m) 3个字节 范围(-8388608~8388607)
int(m) 4个字节 范围(-2147483648~2147483647)
bigint(m) 8个字节 范围(+-9.22*10的18次方)
取值范围如果加了unsigned,则最大值翻倍,如tinyint unsigned的取值范围为(0~256)。
int(m)里的m是表示SELECT查询结果集中的显示宽度,并不影响实际的取值范围。

(MySQL可以为整型类型指定宽度,例如Int(11),对绝大多数应用这是没有意义的:它不会限制值的合法范围,只是规定了MySQL的一些交互工具(例如MySQL命令行客户端)用来显示字符的个数。对于存储和计算来说,Int(1)和Int(20)是相同的。)

2、浮点型(float和double)

MySQL数据类型 含义
float(m,d) 单精度浮点型 8位精度(4字节) m总个数,d小数位
double(m,d) 双精度浮点型 16位精度(8字节) m总个数,d小数位

设一个字段定义为float(5,3),如果插入一个数123.45678,实际数据库里存的是123.457,但总个数还以实际为准,即6位。

3、定点数

浮点型在数据库中存放的是近似值,而定点类型在数据库中存放的是精确值。
decimal(m,d) 参数m<65 是总个数,d<30且 d<m 是小数位。

MySQL5.0和更高版本将数字打包保存到一个二进制字符串中(每4个直接存9个数字)。例如,decimal(18,9)小数点两边将各存储9个数字,一共使用9个字节:小数点前的数字用4个字节,小数点后的数字用4个字节,小数点本身占1个字节。

浮点类型在存储同样范围的值时,通常比decimal使用更少的空间。float使用4个字节存储。double占用8个字节。

因为需要额外的空间和计算开销,所以应该尽量只在对小数进行精确计算时才使用decimal——例如存储财务数据。但在数据量比较大的时候,可以考虑使用bigint代替decimal。

4、字符串(char,varchar,_text)

MySQL数据类型 含义
char(n) 固定长度,最多255个字符
varchar(n) 固定长度,最多65535个字符
tinytext 可变长度,最多255个字符
text 可变长度,最多65535个字符
mediumtext 可变长度,最多2的24次方-1个字符
longtext 可变长度,最多2的32次方-1个字符
char和varchar:
1.char(n) 若存入字符数小于n,则以空格补于其后,查询之时再将空格去掉。所以char类型存储的字符串末尾不能有空格,varchar不限于此。
2.char(n) 固定长度,char(4)不管是存入几个字符,都将占用4个字节,varchar是存入的实际字符数+1个字节(n< n>255),所以varchar(4),存入3个字符将占用4个字节。
3.char类型的字符串检索速度要比varchar类型的快。
 
varchar和text:
1.varchar可指定n,text不能指定,内部存储varchar是存入的实际字符数+1个字节(n< n>255),text是实际字符数+2个字节。
2.text类型不能有默认值。
3.varchar可直接创建索引,text创建索引要指定前多少个字符。varchar查询速度快于text,在都创建索引的情况下,text的索引似乎不起作用。

5.二进制数据(_Blob)

1._BLOB和_text存储方式不同,_TEXT以文本方式存储,英文存储区分大小写,而_Blob是以二进制方式存储,不分大小写。
2._BLOB存储的数据只能整体读出。
3._TEXT可以指定字符集,_BLO不用指定字符集。

6.日期时间类型

MySQL数据类型 含义
date 日期 '2008-12-2'
time 时间 '12:25:36'
datetime 日期时间 '2008-12-2 22:06:44'
timestamp 自动存储记录修改时间

若定义一个字段为timestamp,这个字段里的时间数据会随其他字段修改的时候自动刷新,所以这个数据类型的字段可以存放这条记录最后被修改的时间。

转载于:https://www.cnblogs.com/guanghe/p/6054129.html

Oracle、SQL Server、MySQL数据类型对比相关推荐

  1. 惜分飞oracle,惜分飞 - 提供7*24专业数据库(Oracle,SQL Server,MySQL等)恢复和Oracle技术服务@Tel:+86 13429648788...

    又一起win rac的asm disk被格式化为ntfs,导致数据库异常恢复的请求,客户描述有一个500G的data磁盘组(只有一个磁盘,被误操作进行了格式化).格式化asm disk之后 asm的a ...

  2. oracle中句柄,释放句柄 – 提供7*24专业数据库(Oracle,SQL Server,MySQL等)恢复和Oracle技术服务@Tel:+86 13429648788 - 惜分飞...

    在很多时候,检查系统时候发现,由于某个Oracle的trace文件导致磁盘空间告警,因为业务需要不能让数据库down下来.这个时候你想到的方法可能是直接删除掉这个trace文件,如果是win系统,那恭 ...

  3. oracle 00600 kccpb,惜分飞 - 提供7*24专业数据库(Oracle,SQL Server,MySQL等)恢复和Oracle技术服务@Tel:+86 13429648788...

    在哪些情况下,数据库不启动附加日志不能正常的被Logminer捕获到的,这里做了一个简单的测试,说明在不启用附加日志的情况下,很多操作不能被捕获,不仅仅是行迁移的数据记录.当然本实验仅供参考,因为在不 ...

  4. python数据库管理软件_数据库管理工具神器-DataGrip,可同时管理多个主流数据库[SQL Server,MySQL,Oracle等]连接 - Python社区...

    DataGrip :Jet Brains出品的一款数据库管理工具(没错,是Jet Brains出品,必属精品).DataGrip整合集成了当前主流数据库(如:SQL Server, MySQL, Or ...

  5. Mysql Oracle Sql server 三种数据库默认端口

    ** Mysql Oracle Sql server 三种数据库默认端口 ** SQL Server默认端口号为:1433 URL:"jdbc:microsoft:SQL Server:// ...

  6. ExcelToDatabase:批量导入Excel文件到MySQL/Oracle/SQL Server数据库的自动化工具

    ExcelToDatabase:批量导入Excel到MySQL/Oracle/SQL Server数据库的自动化工具 简介 ExcelToDatabase 是一个可以批量导入excel到mysql/o ...

  7. 数据库管理工具神器-DataGrip,可同时管理多个主流数据库[SQL Server,MySQL,Oracle等]连接

    日常开发中少不了各种可视化数据库管理工具.如果需要同时能连接多种数据库,大家肯定都会想到 DBeaver.Navicat Premium.本文介绍另一个十分好用且强大的工具:DataGrip. Dat ...

  8. oracle sql server的区别,oracle与sqlserver的十大区别

    http://blog.csdn.net/it_fengli/article/details/8213839 --sql server 与 oracle的区别: --DBMS 数据库管理系统 --1. ...

  9. oracle空值判断 =,Oracle,sql server的空值(null)判断

    Oracle,sql server的空值(null)判断 sql server 替换null:isnull(arg,value) 如:select isnull(price,0.0) from ord ...

  10. Sql Server之数据类型详解

      数据类型是一种属性,用于指定对象可保存的数据的类型,SQL Server中支持多种数据类型,包括字符类型.数值类型以及日期类型等.数据类型相当于一个容器,容器的大小决定了装的东西的多少,将数据分为 ...

最新文章

  1. Go 学习笔记(37)— 标准命令(go build 跨平台编译、交叉编译、go clean、go run、go fmt、go install、go get)
  2. 8位无符号和8位有符号转化为更高字节类型的问题
  3. 精致3D图片切换效果,最适合企业产品展示
  4. 解决ScrollView与ViewPage滑动冲突的问题
  5. Flask构建微电影(二)
  6. 金融工程与计算机联系紧密吗,美国留学金融工程专业院校有什么推荐的呢?
  7. css多行文本溢出显示省略号(…)
  8. Word Cookbook by Eric
  9. 浮栅场效应管 符号_华成英 - 模拟电子技术基础 | 场效应管
  10. python电化学cv曲线怎么画_cv曲线(电化学cv曲线分析)
  11. 极路由2刷机为openwrt固件
  12. java判断生肖_Java写出生肖年判断
  13. 查看win10电脑电池损耗
  14. Django框架-Django视图(views)系统
  15. 计算机表演赛分赛区决赛,国际儿童节计算机表演赛 天津分赛区决赛开始
  16. EfficientPS网络
  17. 基于行为模拟爆破C/S架构客户端程序的一些猜想实现
  18. 浅谈缓存系统的三个问题
  19. 人生修煉電影篇之-------------------- 《海王》
  20. 淘宝搜索排名规律及优化方法

热门文章

  1. JQ插件jkscroll应用到页面中的效果
  2. uva 1045(二分图最大权匹配)
  3. Spring整合- mongodb
  4. 个人随笔——衰人自叙卷贰
  5. js正则替换html字符串,js正则找出字符串的内容,并替换内容
  6. matlab gui编写计算器,怎样用MATLAB中的GUI做一个简单计算器
  7. 关于为什么需要设置request.setCharacterEncoding以及适用范围问题
  8. 基于etcd实现大规模服务治理应用实战
  9. tomcat内存溢出解决方案_JVM了解以下?JVM系列~内存区域与内存溢出异常
  10. SpringMVC文件上传(一)