zoukankan      html  css  js  c++  java
  • Sql与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)

    转载自:https://www.cnblogs.com/cwgyn/p/3619868.html

  • 相关阅读:
    FPGA 在线调试方法概述
    Quartus II& Nios II 出错解决办法
    Verilog HDL--VGA显示
    常用电平转换方案
    Verilog HDL SPI通信——读
    Verilog HDL SPI通信——写
    Verilog HDL串口发送程序
    verilog HDL 串口接受程序
    关于AFNetworking中header的bug问题
    iOS项目的本地化处理(多国语言)
  • 原文地址:https://www.cnblogs.com/daran/p/10939347.html
Copyright © 2011-2022 走看看