sql Server与ORACLE的语法区别 自用整理!
/*整理背景201403订单中心数据库迁移(整理Oracle与SQL的差异)
整理规则第一句为SQL Server 第二句为Oracle*/
--数据类型
int integer
varchar varchar2
double number(25,10)
datetime date
/*
--临时表
ORACLE 数据库在使用临时表时,要先将临时表建到数据库中,然后才能使用临时表。
*/
/*
--多条语句同时放在一起执行时
begin
语句1;
语句2;
语句3;
。;。;。;
end;
*/
/*
非常有用的函数
floor(参数) 去除小数点后的所有小数位
coalesce(参数1,参数2,参数3,参数4) 返回第一个不为null的值,若都为null则返回null
-->ORACLE LPAD(参数,长度,填充值) 向左填充 RPAD(参数,长度,填充值) 向右填充
*/
--字符串拼接语法
select 'a'+'b';
select 'a'||'b' from dual;
--查询第一条数据
select top 1 from Table1;
select * from Table1 where rownum<2;
--查询一个字段如果是空则替换默认值
select ISNULL('字段1',0) from Table1;
select nvl('字段1',0) from Table1;
--截取字符串
select SUBSTRING('字段1','开始位置','截取长度') from Table1;
select SUBSTR('字段1','开始位置','截取长度') from Table1;
--去字段值的长度
select len('字段1') from Table1;
select length('字段1') from Table1;
--数据类型转换
select CONVERT('字段1',datatype) from Table1;select CAST('字段1' as dataType) from Table1;
select CAST('字段1' as dataTye) from Table1;
--注:在数据类型转换过程中cast语法select cast(1.2 as int) select cast(1.6 as int)这两个结果在sql server中
--为1 oracle中结果为1,2使用过程中一定要注意
--左右截取
select left('123',2)-->12
select right('123',2)-->23
--ORACLE中没有左右截取,实现同样的效果用SUBSTR。
--Update语句的区别(多表联合更新)
--注:单张表更新SQL与ORACLE一样
update Table1 set 字段1='value1',字段2='value2'
from Table2,Table1
where Table2.字段1=Table1.字段1 and Table2.字段2=Table1.字段2
MERGE INTO Table1
USING Tabel2
ON(Table2.字段1=Table1.字段1 and Table2.字段2=Table1.字段2)
WHEN MATCHED THEN UPDATE SET
字段1='value1',字段2='value2'
UPDATE Table1 set 字段1='value1' where exists
(select 1 from Table2
where Table1.字段2=Table2.字段2
and Table1.字段2='字段2')
--Delete语句
--注:单张表的删除语句SQL与ORACLE一样
Delete from Table1,Table2 where
Table2.字段1=Table1.字段1 and Table2.字段2=Table1.字段2
Delete from Table1 where exists
(select 1 from Table2
where Table2.字段1=Table1.字段1
and Table2.字段2=Table1.字段2)
--发现错误请指出,望各位不吝赐教!
sql Server与ORACLE的语法区别 自用整理!的更多相关文章
- SQL Server,MySQL,Oracle三者的区别
SQL Server,MySQL,Oracle三者的区别 2016-10-14 转自:SQL Server,MySQL,Oracle三者的区别 目录 1 Oracle.Sql Server.MySql ...
- 数据库 --> SQL Server 和 Oracle 以及 MySQL 区别
SQL Server 和 Oracle 以及 MySQL 区别 三者是目前市场占有率最高(依安装量而非收入)的关系数据库,而且很有代表性.排行第四的DB2(属IBM公司),与Oracle的定位和架构非 ...
- SQL Server与Oracle有什么区别?
1.可操作平台上: Oracle可在所有主流平台上运行,Oracle数据库采用开放的策略目标,它使得客户可以选择一种最适合他们特定需要的解决方案.客户可以利用很多种第三方应用程序.工具.而SQL Se ...
- 【转】SQL Server与Oracle的区别
转自:http://soft.chinabyte.com/database/255/12258255.shtml SQL Server与Oracle的区别 2012-02-10 00:00 中国IT实 ...
- SQL SERVER与ORACLE的几点区别
1.数据类型不同. sql server 的数据类型 int ,smallint ,char,varchar,nchar,nvarchar,ntext,datetime,smalldatet ...
- sql server 与 oracle的区别(转)
--1.数据类型不同. --sql server 的数据类型:int ,smallint ,char,varchar,nchar,nvarchar,ntext,datetime,smalld ...
- MySQL与Oracle的语法区别详细对比
MySQL与Oracle的语法区别详细对比 Oracle和mysql的一些简单命令对比在本文中将会涉及到很多的实例,感兴趣的你不妨学习一下,就当巩固自己的知识了 Oracle和mysql的一些简单 ...
- 关于sql server远程访问Oracle数据库 OpenQuery查询返回多条数据的问题
在Sql Server远程访问Oracle 中的数据库表时: 远程语法通常为: select * from OpenQuery(Oracle链接服务器名称,‘查询语句’) eg: select * f ...
- ASP.NET 连接 SQL Server 和 Oracle 教程
临近期末,有很多同学都问我怎么关于ASP.NET 连接 SQL Server 和 Oracle 的问题.由于人太多了,我也不能一一去帮忙,就写了这篇博客.希望对大家有用处. 首先,前期准备是要安装数据 ...
随机推荐
- MongoDB小结16 - find【查询条件$in】
$in可以查询一个键的多个值 举例,每个人有爱好,假定为一个,数据太多,咱们用第二个参数来过滤一下 db.user.find({},{"_id":0}) { "hobby ...
- DataNucleus之JDO操作演示样例
JDO(Java Data Object )是Java对象持久化的新的规范.也是一个用于存取某种数据仓库中的对象的标准化API. 注意JDO是一种规范,而不是一个产品.而DataNucleus正是实现 ...
- 在 Web 开发中,img 标签用来呈现图片,而且一般来说,浏览器是会对这些图片进行缓存的。
在 Web 开发中,img 标签用来呈现图片,而且一般来说,浏览器是会对这些图片进行缓存的. 比如访问百度,我们可以发现,图片.脚本这种都是从缓存(内存缓存/磁盘缓存)中加载的,而不是再去访问一次百度 ...
- JavaScript变量提升演示样例
直接先看两段代码 function getSum() { var sum = a + b; var a = 1; var b = 2; return sum; } getSum(); function ...
- 分析Linux内核的启动过程
第一章 环境 Ubuntu 14.10 Linux Kernel 3.18.6 第二章 代码及调试过程 环境搭建与内核准备: cd ~/LinuxKernel/ wget https://www.ke ...
- Android系统优化
这些事实上就是优化rom 的一些实用小技巧. 认为非常多还是实用的. Build.prop (编辑 /system/build.prop 文件(须要root, 能够用文件管理器或者其它root exp ...
- text recognizer (OCR) Engine 光学字符识别
https://github.com/tesseract-ocr/tesseract/wiki https://github.com/UB-Mannheim/tesseract/wiki C:\Use ...
- JavaScript倒计时类
(function (){ var jtimer = function() { // init if(arguments.length >= 1) { this.setEndTime(argum ...
- bzoj1407 [Noi2002]Savage——扩展欧几里得
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1407 看到一定有解,而且小于10^6,所以可以枚举: 判断一个解是否可行,就两两判断野人 i ...
- 830C
分块+二分 这道题思路很巧妙 我们大概可以推出一个式子sigma(d-[(ai-1)%d+1])<=k,要求求出d的最大值 然后我们化简一下,sigma(d-[(ai-1)-[(ai-1)/d] ...