Oracle 中INSTR方法
INSTR方法的花式为
INSTR(源字符串, 方针字符串, 早先位置,
婚配序号)
例 如:INSTR("CORPORATE FLOOR","OR", 3, 2)中,源字符串为"CORPORATE FLOOR",
方针字符串为"OR",早先位置为3,取第2个婚配项的位置。
默许查找次第为从左到左。当早先位置为负数的时候,从左边开初查找。
所 以SELECT INSTR("CORPORATE FLOOR", "OR", -1, 1)
"Instring" FROM DUAL的隐示结局是
Instring
——————
14
t表中快要有1100万数据,很多时候,我们要进行字符串婚配,正在SQL语句中,我们泛泛应用like来到达我们搜刮的方针。但颠末实践测试发现,like的效
率取instr函数好异相等大年夜。下里是一些测试结局:
SQL> set timing on
SQL> select count(*) from t where
instr(title,’手册’)>0;
COUNT(*)
———-
65881
Elapsed: 00:00:11.04
SQL> select count(*) from t where title like
‘%手册%’;
COUNT(*)
———-
65881
Elapsed: 00:00:31.47
SQL> select count(*) from t where
instr(title,’手册’)=0;
COUNT(*)
———-
11554580
Elapsed: 00:00:11.31
SQL> select count(*) from t where title not like
‘%手册%’;
COUNT(*)
———-
11554580
另外,我正在另外一个2亿多的表,应用8个并行,应用like查询很久都不出来结局,但应用instr,4分钟即完成查找,机能是相等的好。这些小本领用好,工做苦守进步很多。颠末过程上里的测试道明,ORACLE内建的一些函数,是颠末相等程度的劣化的。
毗连天点:http://blog.163.com/cuitianlin044@126/blog/static/62851592201061421033283/>