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)

      

    二、表(主键、外键、CHECKUNIQUEDEFAULTINDEX

    在创建表及其主键、外键、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

         


    作者:追梦网络
    出处:http://www.cnblogs.com/dream844/
    本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    Asp.net 基础4(自定义控件的使用之客户端脚本生成)
    Asp.net 基础3(自定义控件的使用)
    wpf 可以取消的单选checkbox
    wpf MaskedTextBox
    自定义 日期格式的datePicker
    wpf datagrid no record found style
    Sql语句绝妙用法
    .net反射简介
    c# 正则表达式小结
    如何获取地址栏地址
  • 原文地址:https://www.cnblogs.com/dream844/p/3025904.html
Copyright © 2011-2022 走看看