zoukankan      html  css  js  c++  java
  • ORACLE与SQL SERVER语法区别

    一、数据类型

    ORACLE与SQL SERVER在数据类型的对比如下:

     

    SQL SERVER

    ORACLE

    数字类型

    DECIMAL[(P[, S])]

    NUMBER[(P[, S])]

    NUMERIC[(P[, S])]

    NUMBER[(P[, S])]

    FLOAT[(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)]

    日期时间类型

    DATETIME

    DATE

    SMALLDATETIME

    DATE

    其它

    TEXT

    CLOB

    IMAGE

    BLOB

    BIT

    NUMBER(1)

      

    二、表(主键、外键、CHECK、UNIQUE、DEFAULT、INDEX)

    在创建表及其主键、外键、CHECK、UNIQUE、DEFAULT、INDEX时,SQL SERVER 与ORACLE的语法大致相同。主要区别如下:

    (1) Oracle定义表字段的default属性紧跟字段类型之后,如下:

        Create table MZ_Ghxx

      ( ghlxh  number primay key ,

        rq     date   default sysdate not null,

      ….

      )

      而不能写成

        Create table MZ_Ghxx

      ( ghlxh  number primay key ,

        rq     date   not null default sysdate,

      ….

      )

    三、存储过程/函数

    过程与函数的区别

    函数可以返回一个值给调用环境;而过程不能,过程只能通过返回参数(带“OUT”或“IN OUT”)传回去数据。

       SQLSERVER中存储过程的结构大致如下

               CREATE PROCEDURE procedure_name

                   /*输入、输出参数的声明部分*/

               AS

                   DECLARE

                   /*局部变量的声明部分*/

               BEGIN

                   /*主体SQL语句部分*/

                  /*游标声明、使用语句在此部分*/

               END

        ORACLE中存储过程的结构大致如下

               CREATE OR REPLACE PROCEDURE procedure_name

                  (  /*输入、输出参数的声明部分*/  )

               AS

                   /*局部变量、游标等的声明部分*/

               BEGIN

                   /*主体SQL语句部分*/

                   /*游标使用语句在此部分*/

               EXCEPTION

                   /*异常处理部分*/

               END ;

    ORACLE端FUNCTION语法说明

    CREATE [OR REPLACE] FUNCTION function_name

    [(argument [{IN | OUT | IN OUT }] ) type,

    [(argument [{IN | OUT | IN OUT }] ) type

    RETURN return_type {IS | AS}

    BEGIN

    END;

    四、变量赋值

      在SQL SERVER语句中用如下语句对局部变量赋值(初始值或

              数据库表的字段值或表达式):

               “SELECT 局部变量名 =  所赋值(初始值或数据库表的字段值或表达式)”;

              而在ORACLE中,将初始值赋给局部变量时,用如下语句:

               “局部变量名 : =  所赋值(初始值或表达式);” ,

              将检索出的字段值赋给局部变量时,用如下语句:

               “SELECT 数据库表的字段值 INTO 局部变量名 …” 。

     五、常用函数比较(以下的exp为expression的缩写)

    Sql server

    orcale

    字符类函数

    Ascii(char_exp)

    Ascii(str_exp)

    Char(int_exp)

    Chr(int_exp)

    Datalength(char_exp)

    Length(str_exp)

    Substring(exp, start, length)

    Substr(exp, start, length)

    Upper(char_exp)

    Upper(str_exp)

    Lower(char_exp)

    Lower(str_exp)

    Stuff(char_exp1,start,length,

          Char_exp2)

    Translate(str_exp,from_str,to_str)

    Ltrim(char_exp)

    Ltrim(str_exp1 [,str_exp2])

    Rtrim(char_exp)

    Rtrim(str_exp1 [,str_exp2])

    日期类函数

    Getdate()

    Sysdate

    数学类函数

    Abs(numeric_exp)

    Abs(number_exp)

    Ceiling(numeric_exp)

    Ceil(number_exp)

    Exp(float_exp)

    Exp(number_exp)

    Floor(numeric_exp)

    Floor(number_exp)

    Power(numeric_exp,int_exp)

    Power(number_exp1,number_exp2)

    Round(numeric_exp,int_exp)

    Round(number_exp1 [,number_exp2])

    Sign(int_exp)

    Sign(number_exp)

    Sqrt(float_exp)

    Sqrt(number_exp)

    转换函数

    Convert(datatype[(length)],exp,format)

    To_char(datatype,str_format)

    Convert(datatype[(length)],exp,format)s

    To_date(str_exp,date_format)

    Convert(datatype[(length)],exp,format)

    To_number(str_exp,num_format)

    其它函数

    AVG([ALL | DISTINCT] col)

    AVG([ALL | DISTINCT] col)

    COUNT({[ALL | DISTINCT] col] | *})

    COUNT({[ALL | DISTINCT] col} | *))

    MAX([ALL | DISTINCT] col)

    MAX([ALL | DISTINCT] col)

    MIN([ALL | DISTINCT] col)

    MIN([ALL | DISTINCT] col)

    SUM([ALL | DISTINCT] col)

    SUM([ALL | DISTINCT] col)

    STDEV(col)

    STDDEV(col)

    VAR(col)

    VARIANCE(col)

    ISNULL(check_exp, replace_value)

    NVL(check_exp, replace_value)

    CASE

    DECCODE

  • 相关阅读:
    ef 模块实体 转json出错的解决
    两个简单的前台显示构架01
    oracle 常用系统表
    直接在文本看代码,谁能指出错在哪里
    action script3.0殿堂之路.pdf 读书笔记
    flashbuilder4.6 as3.0 调试服务器端swf(flash)文件
    .ashx 一般处理文件阻塞处理,所有页面卡死的解决方案
    计算一年中所有周的时间段
    整理的靠谱的软件试玩平台,已亲测能提现
    Java限制同一字符出现N次
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/3696556.html
Copyright © 2011-2022 走看看