sql server和oracle的差异
.部分SQL语句差异
(1)SQL:select top 10 * from table
     ORA: select * from table where rownum<11
(2)SQL:Select * from t1 join t2 on t1.c1=t2.c1
     ORA: select * from t1,t2 where t1.c1=t2.c1
(3)select * from t1 left join t2 on t1.c1=t2.c1
     ORA: select * from t1,t2 where t1.c1=t2.c1(+)
(4)SQL:select * from t1 right join t2 on t1.c1=t2.c1
     ORA: select * from t1,t2 where t1.c1(+)=t2.c1
2. 其他技术差异
    GPRS技术可以应用的领域有:
    ◆在oracle中,delete语句中的from从句中不能涉及到多个表,要基于多个表进行删除记录只有使用子查询。;
    ◆在oracle中,update语句不能基于多个表进行修改数据,要基于多个表进行修改数据只有使用子查询;
    ◆在oracle中,存储过程不能返回记录集,如果要存储过程返回记录集,可以创建视图,可以单独执行select语句  (注意:并不是说在存储过程中不能使用select语句,但select只能用于以下情况:insert into table select * from t1 /select col1 into a from table where ……(a为一变量));
    ◆在oracle中insert 的语法是:insert into table values() 或insert into table select * from t1;;
    ◆Oracle中的日期型常量必须用to_date()函数得到。;
    ◆Dual表是一个虚拟表,专门用于测试的目的用,注意dual表的用法:
在sql server中,如果我们项测试某个函数,例如:select convert(int,’13’) ,在 oracle 中这种表示方法是错误的,应表示为:select to_number(‘13’) from dual;;
    ◆得到相差的天数:两个日期相减,再用ceil或floor函数取整得到相差的月数:months_between()
    ◆数据类型的转换;
    ◆ORACLE中对象名不能超过30个字符。ORACLE中界限符是“”(对应SQLSERVER中的[ ])(我的建议是:最好不要是用界限符,能避免实用系统的保留字就尽量避免);
    ◆ORACLE中空字符串被看成null;
    ◆ORACLE中字符的比较是区分大小写的;
    ◆视图中如果用了order by ,并且order by 从句中的字段名都是别名,那么,在显示视图时必须显示出order by 子句中的所有字段,例如,有下面这样一个视图:
create view v 
as
select name as c1,address from t1 order by c1
那么在select 该视图时
select c1,address from v   是正确的,   select address from v是错误的;
    ◆关于临时表的问题
      在sqlserver中 create table #table1 (c int);
      在oracle 中解决办法是:
create global temporary table table1(c int) on commit preserve rows
这个table1在数据库中是永久存在的,所以不要是用drop命令,在你的程序中在对这个表进行任何操作之前,先执行truncate table table1,切忌不要用drop命令删除此表。;
    ◆http://technet.oracle.com/doc/server815.htm这个网站有许多在线教程,但一定要先注册;
3. 数据类型转换
SQL SERVER ORACLE 
    bigint       NUMBER (19 ,0)     
    binary  (50)      RAW (50)     
    bit       NUMBER (1, 0)     
    char  (10)    CHAR (10)     
    datetime       DATE     
    decimal (18 , 0)      NUMBER (18, 0)     
    float       FLOAT     
    image      BLOB 
    int      NUMBER (10, 0)     
    money       NUMBER (19 ,4)     
    nchar  (10)    CHAR (20)     
    ntext    CLOB 
    numeric (18 , 0)      NUMBER (18 ,0)     
    nvarchar  (50)    VARCHAR2 (100)     
    real       FLOAT     
    smalldatetime       DATE     
    smallint       NUMBER (5, 0)     
    smallmoney       NUMBER (10, 4)     
    sql_variant       LONG RAW     
    text    CLOB 
    timestamp       RAW (8) NOT     
    tinyint       NUMBER (3 ,0)     
    uniqueidentifier       LONG RAW     
    varbinary  (50)     RAW (50)     
    varchar  (50)  VARCHAR2 (50)
sql server和oracle的差异的更多相关文章
- 数据库 --> SQL Server 和 Oracle 以及 MySQL 区别
		
SQL Server 和 Oracle 以及 MySQL 区别 三者是目前市场占有率最高(依安装量而非收入)的关系数据库,而且很有代表性.排行第四的DB2(属IBM公司),与Oracle的定位和架构非 ...
 - SQL Server和Oracle数据类型对应关系
		
在工作中,有时会遇到跨库传输数据的情况,其中 SQL Server 和 Oracle 之间的数据传输是比较常见的情况. 因为 SQL Server 和 Oracle 的数据类型有些差异,这就要求我们在 ...
 - 关于sql server远程访问Oracle数据库 OpenQuery查询返回多条数据的问题
		
在Sql Server远程访问Oracle 中的数据库表时: 远程语法通常为: select * from OpenQuery(Oracle链接服务器名称,‘查询语句’) eg: select * f ...
 - Win7 64位下sql server链接oracle的方法
		
继上一次mysql同步sql server后,这一次需要将Oracle同步到sql server上来,方案相似,只是在sql server链接oracle的时候费了很多时间. 一.测试环境 本方案实现 ...
 - sql server 向oracle导入表
		
选择相应的数据库,右键,任务,选择导出数据 点击下一步 选择Microsoft OLE DB Provider for Sql Server 选择下一步 目标选择.net Framework data ...
 - 【转】SQL Server与Oracle的区别
		
转自:http://soft.chinabyte.com/database/255/12258255.shtml SQL Server与Oracle的区别 2012-02-10 00:00 中国IT实 ...
 - sql server 与oracle数据互导的一种思路--sql server链接服务器
		
思路:通过在sql server数据库中添加链接服务器,可以远程查询oracle数据库的表环境准备,安装sql server数据库,并安装好oracle驱动,在配置好tnsname文件中配置好orac ...
 - 使用 Oracle GoldenGate 在 Microsoft SQL Server 和 Oracle Database 之间复制事务
		
使用 Oracle GoldenGate 在 Microsoft SQL Server 和 Oracle Database 之间复制事务 作者:Nikolay Manchev 分步构建一个跨这些平台的 ...
 - SQL Server连接Oracle详细步骤
		
http://blog.csdn.net/weiwenhp/article/details/8093105 我们知道SQL Server和Oracle其实很多原理都类似.特别是一些常用的SQL语句都是 ...
 
随机推荐
- css读书笔记4:字体和文本
			
字体属性网页中的字体有3个来源:1.用户机器中安装的字体:2.保存在第三方网站上的字体.可以使用link标签把它们链接到页面中:3.保存在子集的web服务器上的字体.可以使用@font-face规则随 ...
 - 滚动条--nicescroll插件(兼容各种浏览器,低至IE5)
			
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
 - python中文处理
			
源码文件为utf-8格式 CODEC = 'utf-8': VS在“高级保存选项”中选择“UTF-8 65001” input(u'中文');print(u'中文')
 - js正则标志/g /i /m的用法,以及实例
			
js正则标志/g /i /m的用法,以及实例 正则的思想都是一样的,但是具体的写法会有所不同,在这里提到的/g,/i,/m在其他的地方也许就不能用了. 一,js正则标志/g,/i,/m说明 1,/ ...
 - 生成json对象
			
JSONObject 对于放入的object,最终生成的json是什么样的? 两个JavaBean: public class ClassBean { private int grade; priva ...
 - TreeList用法(1)
			
本人按照网上搜的一些小用法整理的: 如果要出现左边的效果,代码如下: public DataTable CreateDataTable() { DataTable ...
 - ruby在线学习
			
http://tryruby.org/ [Heroku空间] 免费ruby空间
 - PHP IMAP收QQ邮件,SMTP存入另外QQ邮箱
			
作用,将qq1收到邮件,用qq2的账号.以qq0的为发件人身份放到qq2的邮箱. 什么样做这样一个功能,一个朋友要求的,她不告诉我为什么,好吧 <?php define('USER','xxx@ ...
 - HDU 3533 Escape bfs 难度:1
			
http://acm.hdu.edu.cn/showproblem.php?pid=3533 一道普通的bfs,但是由于代码实现出了bug还是拖了很久甚至对拍了 需要注意的是: 1.人不能经过炮台 2 ...
 - UVa 10253 - Series-Parallel Networks
			
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...