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'。