instr

SQL中Charindex和Oracle中对应的函数Instr

不想你离开。 提交于 2020-03-22 22:39:05
转:http://blog.csdn.net/zhuyu19911016520/article/details/8568640 sql :charindex('字符串',字段)>0     charindex('administrator',MUserID)>0 oracle:instr(字段,'字符串',1,1) >0    instr(MUserID,'administrator',1,1)>0 在项目中用到了Oracle中 Instr 这个函数,顺便仔细的再次学习了一下这个知识。 Oracle中,可以使用 Instr 函数对某个字符串进行判断,判断其是否含有指定的字符。 其语法为: Instr(string, substring, position, occurrence) 其中 string:代表源字符串; substring:代表想聪源字符串中查找的子串; position:代表查找的开始位置,该参数可选的,默认为 1; occurrence:代表想从源字符中查找出第几次出现的substring,该参数也是可选的,默认为1; 如果 position 的值为负数,那么代表从右往左进行查找。 返回值为:查找到的字符串的位置。 对于 Instr 函数,我们经常这样使用:从一个字符串中查找指定子串的位置。 例如: SELECT Instr('Hello Word', 'o',

Oracle中 Instr 这个函数

左心房为你撑大大i 提交于 2020-03-22 22:38:48
http://www.jb51.net/article/42369.htm sql :charindex('字符串',字段)>0 charindex('administrator',MUserID)>0 oracle:instr(字段,'字符串',1,1) >0 instr(MUserID,'administrator',1,1)>0 在项目中用到了Oracle中 Instr 这个函数,顺便仔细的再次学习了一下这个知识。 Oracle中,可以使用 Instr 函数对某个字符串进行判断,判断其是否含有指定的字符。 其语法为: Instr(string, substring, position, occurrence) 其中 string:代表源字符串; substring:代表想聪源字符串中查找的子串; position:代表查找的开始位置,该参数可选的,默认为 1; occurrence:代表想从源字符中查找出第几次出现的substring,该参数也是可选的,默认为1; 如果 position 的值为负数,那么代表从右往左进行查找。 返回值为:查找到的字符串的位置。 对于 Instr 函数,我们经常这样使用:从一个字符串中查找指定子串的位置。 例如: SELECT Instr('Hello Word', 'o', -1, 1) "String" FROM Dual 的显示结果是

Oracle中Instr用法

天大地大妈咪最大 提交于 2020-03-22 22:38:07
之前只是会用Orcale来做些项目,没有研究里面具体函数之类的,现在边学边看边记录。 主要这个Instr看着默生其它的一看都能够明白的; 它的做用是取得指定字符是否存在,及取出Index位置,无则为0;如果存在,则根据配置的position,及occurrence来体现检询的规则来取出Index位置信息。 在项目中用到了Oracle中 Instr 这个函数,顺便仔细的再次学习了一下这个知识。 Oracle中,可以使用 Instr 函数对某个字符串进行判断,判断其是否含有指定的字符。 其语法为: Instr(string, substring, position, occurrence) 其中 string:代表源字符串; substring:代表想聪源字符串中查找的子串; position:代表查找的开始位置,该参数可选的,默认为 1; occurrence:代表想从源字符中查找出第几次出现的substring,该参数也是可选的,默认为1; 如果 position 的值为负数,那么代表从右往左进行查找。 返回值为:查找到的字符串的位置。 对于 Instr 函数,我们经常这样使用:从一个字符串中查找指定子串的位置。 例如: SELECT Instr('Hello Word', 'o', -1, 1) "String" FROM Dual 的显示结果是 Instring ———— 8

Oracle两个分页存储过程的比较

吃可爱长大的小学妹 提交于 2020-03-22 03:06:12
由于公司项目上的问题,在数据量很大的时候,在SELECT 语句中包含了很多 function 致使查询进行了全表扫描,例如查询语句:select function1(col1) as a1,function2(col2) as a2,function3(col3) as a3,...... from table1 t1 where col5 = function(col5) 像这种SQL语句查询的过程中会变得巨慢,因为在function中又去其他表(比如字典表)中做了查询,一个只有10W记录的表,查询一个类似的SQL语句需要25~30秒的样子,原来的分页存储过程: 1 create or replace package body PK_Pager 2 as 3 procedure GetPager 4 ( 5 p_PageSize int , -- 每页记录数 6 p_PageNo int , -- 当前页码,从 1 开始 7 p_SqlSelect varchar2 , -- 查询语句,含排序部分 8 p_OutRecordCount out int , -- 返回总记录数 9 p_OutCursor out mytype 10 ) 11 as 12 v_sql varchar2 ( 3000 ); 13 v_count int ; 14 v_heiRownum int ; 15

sql常用函数instr()和substr()

你。 提交于 2020-03-12 19:57:31
Decode decode(条件,值1,翻译值1,值2,翻译值2,...,缺省值) 该函数与程序中的 If...else if...else 意义一样 NVL 格式: NVL( string1, replace_with) 功能:如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值,如果两个参数都为NULL ,则返回NULL。 注意事项:string1和replace_with必须为同一数据类型,除非显式的使用TO_CHAR函数进行类型转换。 select nvl(sum(t.dwxhl),1) from tb_jhde t 就表示如果sum(t.dwxhl) = NULL 就返回 1 Oracle 在NVL函数的功能上扩展,提供了NVL2函数 NVL2 nvl2 (E1, E2, E3) 的功能为:如果E1为NULL,则函数返回E3,否则返回E2 结合 Decode 和 NVL等函数 常常结合使用,例如 select monthid,decode(nvl(sale,6000),6000,'NG','OK') from output sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1, 如果取较小值就是 select monthid,decode(sign(sale-6000),-1,sale,6000) from

oracle instr函数使用

本秂侑毒 提交于 2020-03-12 19:33:02
INSTR(源字符串, 目标字符串, 起始位置, 匹配序号) : 在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置。只检索一次,就是说从字符的开始到字符的结尾就结束。 一、语法如下: instr( string1, string2 [, start_position [, nth_appearance ] ] ) 1>参数分析:   ①string1:源字符串,要在此字符串中查找。 ②string2:要在string1中查找的字符串.   ③start_position:代表string1 的哪个位置开始查找。 注:此参数可选,如果省略默认为1. 字符串索引从1开始。 如果此参数为正,从左到右开始检索。 如果此参数为负,从右到左检索,返回要查找的字符串在源字符串中的开始索引。   ④nth_appearance:代表要查找第几次出现的string2. 注:此参数可选,如果省略,默认为 1.如果为负数系统会报错。 注意:如果String2在String1中没有找到,instr函数返回0. 2>示例:   SELECT instr('syranmo','s') FROM dual; -- 返回 1   SELECT instr('syranmo','ra') FROM dual; -- 返回 3   SELECT instr('syran mo','a'

oracle instr用法

落花浮王杯 提交于 2020-03-12 19:32:27
   在oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置。只检索一次,就是说从字符的开始到字符的结尾就结束。 语法: instr( string1, string2 [, start_position [, nth_appearance ] ] ) 参数:   string1   源字符串,要在此字符串中查找。   string2   要在string1中查找的字符串.   start_position   代表string1 的哪个位置开始查找。此参数可选,如果省略默认为1. 字符串索引从1开始。如果此参数为正,从左到右开始检索,如果此参数为负,从右到左检索,返回要查找的字符串在源字符串中的开始索引。   nth_appearance   代表要查找第几次出现的string2. 此参数可选,如果省略,默认为 1.如果为负数系统会报错。   注意:   如果String2在String1中没有找到,instr函数返回0. 来源: https://www.cnblogs.com/dsfblog/p/3824269.html

Oracle 函数

徘徊边缘 提交于 2020-03-12 19:31:35
instr函数 INSTR   (源字符串, 目标字符串, 起始位置, 匹配序号)   在 Oracle /PLSQL中,instr函数返回要截取的字符串在源字符串中的位置。只检索一次,就是说从字符的开始   到字符的结尾就结束。   语法如下:   instr( string1, string2 [, start_position [, nth_appearance ] ] )   参数分析:   string1  源字符串,要在此字符串中查找。   string2 要在string1中查找的字符串.   start_position  代表string1 的哪个位置开始查找。此参数可选,如果省略默认为1. 字符串索引从1开始。如果此参数为正,从左到右开始检索,如果此参数为负,从右到左检索,返回要查找的字符串在源字符串中的开始索引。   nth_appearance  代表要查找第几次出现的string2. 此参数可选,如果省略,默认为 1.如果为负数系统会报错。   注意:   如果String2在String1中没有找到,instr函数返回0.   示例:   SELECT instr('syranmo','s') FROM dual; -- 返回 1   SELECT instr('syranmo','ra') FROM dual; -- 返回 3   1 SELECT

Orcale INSTR函数|转|

这一生的挚爱 提交于 2020-03-12 19:30:42
转自 http://blog.163.com/liu_yang1234/blog/static/2447431020112290109559/ INSTR   (源字符串, 目标字符串, 起始位置, 匹配序号)   在 Oracle /PLSQL中,instr函数返回要截取的字符串在源字符串中的位置。只检索一次,就是说从字符的开始   到字符的结尾就结束。   语法如下:   instr( string1, string2 [, start_position [, nth_appearance ] ] )   参数分析:   string1   源字符串,要在此字符串中查找。   string2   要在string1中查找的字符串.   start_position   代表string1 的哪个位置开始查找。此参数可选,如果省略默认为1. 字符串索引从1开始。如果此参数为正,从左到右开始检索,如果此参数为负,从右到左检索,返回要查找的字符串在源字符串中的开始索引。   nth_appearance   代表要查找第几次出现的string2. 此参数可选,如果省略,默认为 1.如果为负数系统会报错。   注意:   如果String2在String1中没有找到,instr函数返回0.   示例:   SELECT instr('syranmo','s') FROM dual; -