sql语句里“like”有没有反向用法?

sql语句里“like”有没有反向用法?,第1张

没有的。

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中使用,其他数据库中格式可能稍有变化。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6627110.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-25
下一篇 2023-03-25

发表评论

登录后才能评论

评论列表(0条)

保存