资源描述:
《sqlserver与oracle数据库类型区别以及迁移计划(一)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、SQL_server_与Oracle数据库类型区别以及迁移计划一、数据类型区别: 当数据从SQLSERVER向ORACLE 10g迁移时,可以做如下调整:SqlserverOracle10g数字类型decimal[(P[,S])]NUMBER[(P[,S])]numeric[(P[,S])]NUMBER[(P[,S])]float[(N)]NUMBER[(N)]real[(N)]NUMBER[(N)]intNUMBERsmallintNUMBERtinyintNUMBERmoneyNUMBER[19,4]s
2、mallmoneyNUMBER[19,4]字符类型char[(N)]CHAR[(N)]varchar[(N)]VARCHAR2[(N)]nchar[(N)]CHAR[(N)]nvarchar[(N)]VARCHAR2[(N)]日期时间类型datetimeTIMESTAMP(6)smalldatetimeTIMESTAMP(6)其它textCLOBimageBLOBbitNUMBER(1以上详细说明: Orace:主要支持char,varchar2,long,number,datetime,raw,lo
3、ngraw,clob,blob,bfie 前面三个是Character数据类型,varchar2支持可变长度的字符串,long支持可 变长度的字符数据,raw,longraw用于存储二进制数据,longraw可变长度 最后三个是大对象(lob)数据类型,存储非结构化的信息,例如声音剪辑,视频文件 CLOG表示CharacterLob,可以存储大量的字符数据,它对于存储非结构化的XML 文档非常有用。BLOG表示BinaryLOG,此数据类型可以存储大型二进制对象,如 图形
4、、视频剪辑,声音文件等 支不支持,money,货币 Sqlserver主要支持的文本类型char,varchar,nchar,nvarchar,text,ntext,image,货币类型Money,二进制binary,varbinary二、概念上的区别:1.Oracle是一种对象关系数据库管理系统(ORDBMS),而Sqlserver只是关系型数据库管理系统(RDBMS). 2.Oracle使用Internet文件系统,该系统基于Java的应用程序,可以使数据库基于成为Internet的开发平
5、台;Sqlserver是基于windows 3.Orace主要的三类文件是:数据文件,控制文件,恢复日志文件 Sqlserver: 主要数据文件(必须有且只能有一个),次要数据文件以及日志文件 4.两者支持的命令类别差不多,数据定义语言,数据操纵语言,事务处理控制语言, 数据控制语言.在Oracle中,在事务控制语言中除了commit,rollback等还多了一个 Savepoint,设置保存点。 5.oraclesql的扩展叫PL/SQL,主要的结构化查询工具有sql*plus,i
6、sql*plus, pl/sql等 Mssql的扩展叫Transact-SQL,主要的结构化查询工具就是自带的查询分析器一、语法区别:Oracle和SQLServer的语句区别1、列的选择用plsql执行数据查询的时候,from字句是必须的,这同sqlserver的要求是一样的。Select语句必须选择针对的数据表。在oracle数据库内有一种特殊的表dual,dual表由oracle联通数据字典一同创建,所有的用户都可以用名称dual访问该表。这个表只有一列dummy,该列定义为varchar2(1
7、)类型,有一行值x,从dual表选择数据常被用来通过select语句计算常数表达式,由于dual只有一行数据,所以常数只返回一次。Oracle下的dual查询如下所示:Select‘x’fromdual;而对等的sqlserver查询则如下:Select‘x’;1、连接Oracle用
8、
9、符号作为连接符,而SQLserver的连接符是加号:+. Oracle查询如下所示:Select‘Name’
10、
11、‘lastName’fromtableName;对应的SQLServer查询如下所示:Select‘Name’+
12、‘LastName’;2、数字取舍Oracle数据库内有一个trunc函数,该函数返回m位十进制数的n位;如果是省略m则n就是0位。m的值可以为负,表示截去小数点左边m为数字。在SQLServer下可以用Round或者Floor.以下是Oracle查询:Selecttrunk(15.79,1)”Truncate”fromdual;以下sqlserver版本: Selectround(15.79,0)rounded