暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【数据库字符类型对比】sqlserver数据库对比oracle数据类型

原创 龙镇君 2023-03-16
804

1、sqlserver数据库对比oracle数据类型

 类型名称

Oracle

 SQLServer

 比较

 字符数据类型 CHAR CHAR 都是固定长度字符资料但oracle里面最大度为2kb,SQLServer里面最大长度为8kb
 变长字符数据类型 VARCHAR2 VARCHAR Oracle里面最大长度为4kb,SQLServer里面最大长度为8kb
 根据字符集而定的固定长度字符串 NCHAR NCHAR 前者最大长度2kb后者最大长度4kb
 根据字符集而定的可变长度字符串 NVARCHAR2 NVARCHAR 二者最大长度都为4kb
 日期和时间数据类型 DATE 有Datetime和Smalldatetime两种 在oracle里面格式为DMY在SQLSerser里面可以调节,默认的为MDY
 数字类型 NUMBER(P,S) NUMERIC[P(,S)] Oracle里面p代表小数点左面的位数,s代表小数点右面的位数。而SQLServer里面p代表小数点左右两面的位数之和,s代表小数点右面的位数。
 数字类型 DECIMAL(P,S) DECIMAL[P(,S)] Oracle里面p代表小数点左面的位数,s代表小数点右面的位数。而SQLServer里面p代表小数点左右两面的位数之和,s代表小数点右面的位数。 
 整数类型 INTEGER INT 同为整数类型,存储大小都为4个字节
 浮点数类型 FLOAT FLOAT 
 实数类型 REAL REAL 


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.

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论