没有的。
SQL即结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。SQL语句无论是种类还是数量都是繁多的,很多语句也是经常要用到的,SQL查询语句就是一个典型的例子,无论是高级查询还是低级查询,SQL查询语句的需求是最频繁的。
SQL反向模糊查询,需要用到的函数为instr(str1,str2),instr(str1,str2)表示st,比如: SELECT * FROM TABLE_NAME T WHERE INSTR('唐飞',T.NAME)>0;
注:NAME为TABLE_NAME 中的一个字段,为VARCHAR类型。instr(str1,str2)>0表示str1包含str2; instr(str1,str2)>=表示str1不包含str2。
由1、2很容易可以看出来instr完全可以替代like,至少在以上示例中可以替代。只要把str1和str2换个位置就可以达到like效果。
instr的效率是比like要高些(orace对内建函数做了优化),而且使用like时,一些索引是不能用的,但oracle支持函数索引,如果使用函数索引的话,执行更快。
一般的数据库中,instr和like的效率是没有多大差别的,但对于oracle数据库可以通过函数索引来提高instr的执行效率。
比如,查姓张的select * from user where username like * &张&*或直接select * from user where username like *张*key可以是一个提示信息,select * from user where username like * &[请输入姓名:]&*这样当运行查询时,首先提示:请输入姓名:,当你输入姓名或部分姓名时,点确定就可以查询出结果,此方法只在ACCESS中使用,其他数据库中格式可能稍有变化。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)