q我吧

oracle经验小节2

1,instr 函数

在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置。

 语法如下:

instr( string1, string2 [, start_position [, nth_appearance ] ] )

string1:源字符串,要在此字符串中查找。

string2:要在string1中查找的字符串

start_position:代表string1的哪个位置开始查找。此参数可选,如果省略默认为1.

字符串索引从1开始。如果此参数为正,从左到右开始检索,如果此参数为负,从右到左检索,返回要查找的字符串在源字符串中的开始索引。

nth_appearance代表要查找第几次出现的string2.此参数可选,如果省略,默认为1.如果为负数系统会报错。

举例说明:返回字符"j",在字符串"liuhongjia"中开始的索引,也就是第一次出现的位置。

如果返回0表示不包含,否则表示包含。

2,谈到oracle 系统函数,不得不说dual表,下面是引用相关的参考资料:dual是一个系统表,不能删除或者修改其表结构。它的名称叫做“伪表”或者“哑表”。查看其表结构:SQL> desc dual 名称  

是否为空

?

类型 ----------- -------- -----------

DUMMY                VARCHAR2(1)

其字段只有一个“dummy”,中文叫做“哑巴”。长度只有1。这个表结构只供参考。

在Oracle中,使用dual的主要原因是为了计算表达式的值。表的操作只能是查询,其它如增删改或者修改表结构,都没有实际应用价值,不用研究。也可以一次性计算多个表达式的值:还有一个最常见的用途就是查询当前系统日期,·dual表主要用于计算表达式。 ·表结构只供参数,实际返回的列数与表达式的个数有关·dual表只有可能返回一行,不可能返回多行。因为dual表并不是从表中取数据。

如上例中查找字符串中字符出现出现的位置,又如查系统日期:

进行数学计算:

3,oracle下划线转义

用法如下图所示:

 

 

posted @ 2013-07-05 22:24  渲起浪花  阅读(263)  评论(0编辑  收藏  举报