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

 我来答
我在哪我是谁X
2018-02-17 · TA获得超过1620个赞
知道小有建树答主
回答量:350
采纳率:0%
帮助的人:257万
展开全部
在这种情况下可以换种思路.
可以不用like,而用 instr函数,而且instr函数的效率也优于like.

instr (str,substr) 返回子串substr在字符串str中的第一个出现的位置。如果substr不是在str里面,返回0。

所以 你就可以这样用了 判断:如果 instr(str2,str1)>0则说明 str1是str2 的一部分,如果instr(str2,str1)=0,那么str1就不是str2 的一部分.

希望对你有帮助.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
八卦星人小林
高粉答主

2018-05-29 · 生活不止有眼前的苟且,还有瓜
八卦星人小林
采纳数:779 获赞数:157452

向TA提问 私信TA
展开全部

没有的。

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的执行效率。 

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式