SQL Server与oracle两者区别之数据类型区别
来源:互联网 发布:淘宝网旗舰店怎么找 编辑:程序博客网 时间:2024/06/06 10:51
类型名称
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列,……….。
二者映射关系: From SQL Server To Oracle
SQL Server 2000 数据类型
Oracle 数据类型
bigint
NUMBER
binary
LONG RAW NOT NULL
bit
NUMBER (1, 0)
char
VARCHAR2 (900) NOT NULL
datetime
DATE
decimal
NUMBER (255, 3) NOT NULL
float
FLOAT NOT NULL
image
LONG RAW
int
NUMBER (255, 3) NOT NULL
money
NUMBER (255, 3) NOT NULL
nchar
VARCHAR2 (2000) NOT NULL
ntext
LONG
numeric
NUMBER (255, 3) NOT NULL
nvarchar
VARCHAR2 (2000) NOT NULL
real
FLOAT NOT NULL
smallint
NUMBER (255, 3) NOT NULL
smalldatetime
DATE NOT NULL
smallmoney
NUMBER (255, 3) NOT NULL
sql_variant
LONG
sysname
CHAR(255)
text
LONG
timestamp
RAW (255)
tinyint
NUMBER (255, 3) NOT NULL
From Oracle To SQL Server
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() 函数。
- SQL Server与oracle两者区别之数据类型区别
- SQL Server与oracle两者区别之语法区别
- oracle与sql server区别
- sql server 与 oracle 区别
- SQL SERVER 与ORACLE之区别与选择!
- oracle 与 sql server 区别之07 系统元数据
- Microsoft Access数据类型与SQL Server数据类型的区别
- 浅析SQL Server与Oracle区别(转)
- 浅析SQL Server与Oracle区别
- 浅析SQL Server与Oracle区别
- SQL Server与Oracle并行访问区别
- ORACLE与SQL SERVER的区别
- SQL Server,Oracle 与 DB2 的区别
- sql server 与 oracle 的区别
- ORACLE与SQL SERVER语法区别
- SQL Server与oracle区别总结一
- SQL Server与oracle区别总结二
- SQL Server与oracle区别总结一
- 程式開發質量檢查(十二)
- 预编译头文件(precompiled header)
- Win32 PE病毒入门教程
- Winsock编程基础之ioctlsocket
- jxl的简单使用例子
- SQL Server与oracle两者区别之数据类型区别
- GridView中DropDownList的选中值的问题
- 100%最后一次吧, ..., 因为电脑罢工, 后面就只有99%了...哈哈
- 51单片机边沿触发中断响应时刻的测量
- Android sqlite3命令行操作方法
- Silverlight4 添加服务错误
- Linux 下的超级终端Minicom的使用方法
- kjkjk
- 5款伊思儷超媒體繁体游戏 简体中文补丁