Oracle、SqlServer——基础知识——oracle 与 SqlServer 的区别(未完工)

一、 oracle 与 SqlServer 的区别:

类别 oracle SqlServer
连接字符串 || +
变量 变量名 @变量名
初始赋值 := =
SQL语句赋值 into =
绑定变量 =:变量名 =@变量名
if语句  if bool then……elsif bool then ……else ……end if   if bool begin……end else begin……end
获得当前日期 sysdate getdate() 
字符串型日期:"2002-11-11"  to_date('2002-11-11','yyyy-mm-dd') 隐式转换 
输出 dbms_output.put_line('')  print'' 
 ; 每条语句之后都要有 ;  with之前必须有 ; 
单引号 字符串 ;转义符 字符串 ;转义符
双引号 建立对象的时候,对象名、字段名加双引号,则示意 Oracle将严格区分大小写,否则Oracl都默认大写  标识符(对象的名字)
  where  ROWNUM   top 
     
     
     
     
     
     
     

  

4、字符串截取操作。

oracle 与 SqlServer区别如下:

类别 oracle SqlServer
截取左边 第一个字符 left('1234',1);substr('12345',1,1) left('1234',1);Substring('1234',1,1)
截取右边 第一个字符 right('1234',1);substr('1234',-1,1) right('1234',1);Substring('1234',len('1234'),1)
截取第二个字符 substr('12345',2,1) Substring('1234',2,1)

注:在数据库中字符串是从1开始计数的。

(1)oracle 的 substr(string,start[,length])用法:

  • start>=0

表示从左边开始取数。无参数 length 时:截取的数据是为包含 start 位置的数据开始到最后;有参数 length 时:截取的数据是为包含 start 位置的数据开始长度为 length 的数据。

注:start 为 0 和 1 均为从第一个字符开始,且包含第一个字符。

  • start<0

表示从右边开始取数。取数位置为从右边开始数 start 位。其余与上面相同。

(2)SqlServer 的 Substring( string, start, length ) 用法:

  • start>=0

截取的数据是为包含 start 位置的数据开始长度为 length 的数据。

注:start 为 0 和 1 均为从第一个字符开始,且包含第一个字符。

  • start<0
    • 当 length+1<|start|:无返回值。如:select Substring('1234',-2,2) 则无返回值。
    • 当 length>|start|:返回值为从第一个字符开始,长度为 length-|start|-1 的字符串。如: select Substring('1234',-2,4)  返回 '1'; 相当于返回了第 -2、-1、0、1 四个位置的字符,而在数据库中字符串是从1开始计数的。所以前三个位置没有值,即只返回第四个位置的值 '1'。



 

 

 

 

 

 

 

 

 

 

posted @ 2014-10-10 11:49  志在天涯  阅读(546)  评论(0编辑  收藏  举报