提到Like语句大家都很熟悉,比如查找用户名包含有"c"的所有用户, 我们可以用 use mydatabase
提到Like语句大家都很熟悉,比如查找用户名包含有"c"的所有用户, 我们可以用 use mydatabase
select * from table1 where username like'%c%"
以下是完成上面功能的另一种写法:
mysql替代like模糊查询的方法LIKE语句 SELECT `column` FROM `table` where `condition` like `%keyword%' 事实上,可以使用 locate(position) 和 instr 这两个函数来代替 一、LOCATE语句 SELECT `column` from `table` where locate(‘keyword’, `condition`)>0 二、locate 的別名 position POSITION语句 SELECT `column` from `table` where position(‘keyword’ IN `condition`) 三、INSTR语句 SELECT `column` from `table` where instr(`condition`, ‘keyword’ )>0 locate、position 和 instr 的差別只是参数的位置不同,同时locate 多一个起始位置的参数外,两者是一样的。 mysql> SELECT LOCATE(‘bar’, ‘foobarbar’,5); instr(str1,str2) 有两种用法:一种是前面参数写变量,后面写列名;还有就是位置调换。两种有不同的效果,instr(str1,str2)的意思是str2在str1中,如果后面写变量前面写列名,则表示搜出表中所有str1列中值包含str2变量的数据,这时候跟(列名 like '目标表里')的效果是一样的; instr还有一个需要注意的地方,就是对该函数返回结果值的判断,不写时默认是判断 "> 0";共有三种可能,每种对应情况如下: ---------------------- instr(title,'name')>0 相当于 title like '%name%'
更好的是可以搜索 like 搜索不到的字段。
|
Mysql中使用like进行模糊查询反斜线等符号转义处理
https://blog.csdn.net/tianlianchao1982/article/details/7581093
sql like 通配符 模糊查询技巧及特殊字符
https://blog.csdn.net/xiaojian1018/article/details/46858151
mysql like 转义 %_/
https://blog.csdn.net/xiaojian1018/article/details/46858151
[转]sql like 通配符 模糊查询技巧及特殊字符
https://blog.csdn.net/wyc2410/article/details/24646919