sql 模糊查询方法 sql语句里like有没有反向用法?

sql 模糊查询方法 sql语句里like有没有反向用法?
我只会 str1 like '%str2%',就是str1里包含有str2的查询,
但我希望能达到 '%str1%' like str2 的效果,就是str1是str2的一部分,
str1是一个表里的字段,并非确定值,请大家指教,谢谢。
php mysql 模糊查询方法

$arcq = "Select id,title From `#@__archives` where '%'+title+'%' like $txt ";
$dsql->SetQuery($arcq);
$dsql->Execute('toall');

1楼,改成你那样好像还不行啊

在这种情况下可以换种思路.
可以不用like,而用 instr函数,而且instr函数的效率也优于like.

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

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

希望对你有帮助.
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-07-27
你的意思是不是aaabbbcccddd是一个字符串,str1是你表里的一个字段名,它里边有'aaa','bbb','ccc'这些值,你要判断str1的值是不是在字符串里?
sql server可以用这个函数charindex(str1,'aaabbbcccddd')>0表示就含有,返回的是子字符串的位置从零开始。
oracle里是(str1,'aaabbbcccddd')>0意义相同.
第2个回答  2018-03-07
下面方法试试:
SELECT * FROM 表 WHERE '字符串' LIKE CONCAT('%',字段,'%')本回答被网友采纳
第3个回答  2010-07-26
这个要这么写:
Where ( '%'+str1+'%') like str2
第4个回答  2019-12-05
'1000300091800001' like F_CODE||'%'

sql 模糊查询方法 sql语句里like有没有反向用法?
可以不用like,而用 instr函数,而且instr函数的效率也优于like.instr (str,substr) 返回子串substr在字符串str中的第一个出现的位置。如果substr不是在str里面,返回0。所以 你就可以这样用了 判断:如果 instr(str2,str1)>0则说明 str1是str2 的一部分,如果instr(str2,str1)=0,那么str1就不是...

关于sql查询中的like用法疑问?
like是包含的意思,就是字段值中包含你要like的名称 你的例子中,中国工商银行 中 是不包含 中国工商银行上海支行 的,所以查不到 反过来,中国工商银行上海支行 中是包含 中国工商银行 的,所以如果是有 name = "中国工商银行上海支行"数据的时候,用like '%中国工商银行%'来查的话就能查到了 ...

sql语句模糊查询like用法
sql模糊查询1、首先,我们按下Ctrl+N创建一个SQL查询。然后,我们就能利用【createdatabase...】关键字创建。关键字写完后,我们写上新建的数据库名称。这时,就能点击分析查看是否存在错误。2、MySql使用like关键字进行模糊查询,like关键字通常用在where条件查询,like关键字通常配合%、_、[]、[^]使用。

标准SQL中like进行模糊查询,有什么限制条件吗
标准SQL中用like进行模糊查询,有两个通配符:%百分号代表任意个字符,_下划线代表一个字符。1、like'Mc%' 将搜索以字母 Mc 开头的所有字符串。2、like'%inger' 将搜索以字母 inger 结尾的所有字符串。3、like'%en%' 将搜索在任何位置包含字母 en 的所有字符串。SQL LIKE 操作符语法 ‘_':下划...

sql模糊查询语句怎么写啊
SQL模糊查询语句使用LIKE关键字进行编写。以下是对SQL模糊查询的 一、基本语法 在SQL中,模糊查询通常使用`LIKE`关键字配合通配符来实现。基本语法如下:sql SELECT 列名称 FROM 表名称 WHERE 列名称 LIKE 模糊查询模式;其中,模糊查询模式可以使用两种通配符:1. `%`:代表任意数量的字符。2. `_`:...

sql server 中 in 和like 有什么区别?
首先是in,in在检索语句当中检索出来的值和列表提供的值是完全符合的。比如数据当中有一个值是一个字符'name’那么在in语句当中你就要写成“in('name')”他还可以配合not使用,仅不过意思相反。其次是like,like和in是有一定区别的,like一般与通配符一起使用,他可以检索出一些特地定格式的字符。比如...

sql 的like语句
like 关键字 (进行字符串的匹配检查,其中将大量使用通配符) (模糊查询)如查询姓名中姓王的人的数据:select * from 表名 where name like = '王%'代表后面任意多个字 _代表后面一个字 '王_'如 查找姓名中带王字的人的数据:select * from 表名 where name like = '%王%'如 查看性别...

sql like用法
没太看懂你说的意思,不过like的用法我还是知道的 like 用于模糊查询,不知道的可以用%代替,比如我想查询add字段的内容,但记不全,只是知道里面有“北京市”,我就可以用:select add from table_name where add like ‘%北京市%’进行查询。

sql语句查询,多字段like模糊查询优化
1、多字段like模糊查询优化:最常见的写法:where a like '%xx%' or b like '%xx%' or c like '%xx%';这种写法查询效率低,经过调查,下面的方法可以替代,并且效率高:2、如果like的关键字相同:where instr(nvl(a, '')||nvl(b,'')||nvl(c,''), 'xx') > 0 把要模糊查询...

sql语句中怎么实现in中的模糊查询
1、开启数据库管理工具,打开SQL语言编写窗体。2、如果我们知道某字段的开头部分,我们可以用like‘xx%'selectTOP10*fromCK_ATEwhereModellike'PSM24W%'。3、如果我们知道某字段的中间部分,可以使用like‘%xx%’selectTOP10*fromCK_ATEwhereModellike'%24W%'。4、如果我们知道某字段的结尾部分,我们库...

相似回答