SQLserver与Oracle数据库类型区别以和迁移计划(一).doc
文本预览下载声明
SQL_server_与Oracle数据库类型区别以及迁移计划
数据类型区别:
?当数据从SQL SERVER 向ORACLE?10g迁移时,可以做如下调整:数字类型 decimal [(P[, S])] NUMBER[(P[, S])] numeric [(P[, S])] NUMBER[(P[, S])] float[(N)] NUMBER[(N)] real[(N)] NUMBER[(N)] int NUMBER smallint NUMBER tinyint NUMBER money NUMBER[19,4] smallmoney NUMBER[19,4] 字符类型 char[(N)] CHAR[(N)] varchar[(N)] VARCHAR2[(N)] nchar[(N)] CHAR[(N)] nvarchar[(N)] VARCHAR2[(N)] 日期时间类型 datetime TIMESTAMP(6) smalldatetime TIMESTAMP(6) 其它 text CLOB image BLOB bit NUMBER(1
???? Orace:主要支持char ,varchar2,long,number,datetime,raw,long raw,clob,blob,bfie
???? 前面三个是Character数据类型,varchar2支持可变长度的字符串,long支持可
???? 变长度的字符数据,raw,long raw用于存储二进制数据,long raw 可变长度
???? 最后三个是大对象(lob)数据类型,存储非结构化的信息,例如声音剪辑,视频文件
???? CLOG表示Character Lob,可以存储大量的字符数据,它对于存储非结构化的XML
???? 文档非常有用。BLOG表示Binary LOG,此数据类型可以存储大型二进制对象,如
???? 图形、视频剪辑,声音文件等
???? 支不支持,money,货币
???? Sql server 主要支持的文本类型char ,varchar,nchar,nvarchar,text,ntext,image,货币类型 Money,二进制 binary,varbinary
二、概念上的区别:
1.Oracle 是一种对象关系数据库管理系统(ORDBMS),而Sql server 只是关系型数据库管理系统(RDBMS).
?? 2.Oracle使用Internet文件系统,该系统基于Java的应用程序,可以使数据库基于成为Internet的开发平台;Sql server 是基于windows
?? 3.Orace 主要的三类文件是:数据文件,控制文件,恢复日志文件
???? Sql server:?主要数据文件(必须有且只能有一个),次要数据文件以及日志文件
?? 4.两者支持的命令类别差不多,数据定义语言,数据操纵语言,事务处理控制语言,
???? 数据控制语言.在Oracle中,在事务控制语言中除了commit,rollback等还多了一个
???? Savepoint,设置保存点。
?? 5.oracle sql的扩展叫PL/SQL,主要的结构化查询工具有sql*plus,isql*plus,?pl/sql等
???? Ms sql的扩展叫Transact-SQL,主要的结构化查询工具就是自带的查询分析器
语法区别:
Oracle和SQL Server的语句区别
Select 语句必须选择针对的数据表。在oracle数据库内有一种特殊的表dual,dual表由oracle联通数据字典一同创建,所有的用户都可以用名称dual访问该表。这个表只有一列dummy,该列定义为varchar2(1)类型,有一行值x,从dual表选择数据常被用来通过select语句计算常数表达式,由于dual只有一行数据,所以常数只返回一次。
Oracle 下的dual 查询如下所示:
Select ‘x’ from dual ;
而对等的sql server 查询则如下:
Select ‘x’;
连接
Oracle用|| 符号作为连接符,而SQL server的连接符是加号:+.
Oracle查询如下所示:
Select ‘Name’||‘lastName’from tableName;
对应的SQL Server 查询如下所示:
Select ‘Name’+‘LastName’;
数字取舍
Oracle数据库内有一个trunc函数,该函数返回m位十进制数的n位;如果是省略m则n就是0位。m的值可以为负,表示截去小数点左边m为数字。
在SQL Server 下可以用R
显示全部