在Oracle中提供了instr(strSource,strTarget)函数,比使用’%关键字%’的模式效率高很多。
模糊查询:
instr(strSource,strTarget) 返回的是StrTarget在StrSource中的位置,从默认1开始,而 length(字段名)返回字段内容长度。
-
结尾
此处查询最后一个
SELECT * FROM 用户.表 WHERE INSTR(字段名, ‘界’) = LENGTH(字段名)
SELECT * FROM 用户.表 WHERE 字段名 LIKE '%界‘;此处查询最后两个
SELECT * FROM 用户.表 WHERE INSTR(字段名, ‘世界’) = LENGTH(字段名)-1
SELECT * FROM 用户.表 WHERE 字段名 LIKE '%世界‘;
上面两个是相等的,不过第一个效率高 。 -
包含
SELECT * FROM 用户.表 WHERE INSTR(字段名, ‘世界’) >0;
SELECT * FROM 用户.表 WHERE 字段名 LIKE '%世界%‘; -
开头
SELECT * FROM 用户.表 WHERE INSTR(字段名, ‘你好’) =1;
SELECT * FROM 用户.表 WHERE 字段名 LIKE ‘你好%’;