oracle和sql版本,SQL Server与oracle两者区别之数据类型区别

类型名称

Oracle

SQLServer

比较

字符数据类型 CHAR CHAR

:都是固定长度字符资料但oracle里面最大度为2kb,SQLServer里面最大长度为8kb

变长字符数据类型 VARCHAR2 VARCHAR :racle里面最大长度为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)] :racle里面p代表小数点左面的位数,s代表小数点右面的位数。而SQLServer里面p代表小数点左右两面的位数之和,s代表小数点右面的位数。

整数类型 INTEGER INT 同为整数类型,存储大小都为4个字节

浮点数类型 FLOAT FLOAT

实数类型 REAL REAL

ORACLE的数据类型

常用的数据库字段类型如下:

字段类型

中文说明 限制条件 其它说明

CHAR 固定长度字符串 最大长度2000 bytes

VARCHAR2 可变长度的字符串 最大长度4000 bytes

可做索引的最大长度749

NCHAR 根据字符集而定的固定长度字符串 最大长度2000 bytes

NVARCHAR2 根据字符集而定的可变长度字符串 最大长度4000 bytes

DATE 日期(日-月-年) DD-MM-YY(HH-MI-SS)

LONG 可变长度的字符数据 最大长度2G(231-1)足够存储大部头著作

RAW 固定长度二进制数据 最大长度2000 bytes

可存放比较小的多媒体图象声音等

LONG RAW 可变长度的二进制数据 最大长度2G 可存放比较大的多媒体图象声音等

BLOB 大型的二进制对象(可变长度)最大长度4G

CLOB 大型的CHAR类型数据

NCLOB 大型的NCHAR类型数据

BFILE 存放在数据库外的大型的二进制文件

ROWID 数据表中记录的唯一行号10 bytes

********.****.****格式,*为0或1,存储在索引中。

UROWID 同上 存储在索引中

NROWID 二进制数据表中记录的唯一行号

最大长度4000 bytes

NUMBER(P,S) 数字类型 P为总的位数,S为小数位

DECIMAL(P,S) 数字类型P为总的位数,S为小数位

INTEGER 整数类型 的整数

FLOAT 浮点数类型

NUMBER(38),双精度

REAL 实数类型

NUMBER(63),精度更高

注意:每个表中只能有一个LONG或LONG RAW列,……….。

Oracle

Microsoft SQL Server

CHAR

建议使用 char。因为 char 类型的列使用固定的存储长度,所以,访问时比 varchar 列要快一些。

VARCHAR2

和 LONG

varchar 或 text。(如果 Oracle 列中数据值的长度为 8000 字节或更少,则使用

varchar;否则,必须使用 text。)

RAW 和

LONG RAW

varbinary 或 image。(如果 Oracle 列中数据值的长度为 8000 字节或更少,则使用

varbinary;否则,必须使用 image。)

NUMBER

如果整数在 1 和 255 之间,使用 tinyint。

如果整数在 -32768 和 32767 之间,使用 smallint。

如果整数在 -2,147,483,648 和 2,147,483,647 之间,则使用 int。

如果需要浮点类型数,使用 numeric(有精度和小数位)。

注意:不要使用 float 或 real,因为可能会产生舍入(Oracle NUMBER 和 SQL Server

numeric 均不舍入)。

如果不确定,则使用 numeric;它最接近 Oracle NUMBER 数据类型。

ROWID

使用 identity 列类型。

CURRVAL, NEXTVAL

使用 identity 列类型以及 @@IDENTITY、IDENT_SEED() 和 IDENT_INCR() 函数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值