mysql like替代方法

/**
**http://yaoqianglilan.blog.163.com/blog/static/70978316201122995527546/
**/
SELECT t.* FROM xx_area t WHERE INSTR(tree_path, ',1') > 0;


select * from table where instr(field, 'str') > 0
1.select name from temp where instr(str, 1) > 0
包括sonnyboy 和sonnyboy2

2.
FIND_IN_SET(str,strlist)  
如果字符串str在由N子串组成的表strlist之中,返回一个1到N的值。一个字符串表是被“,”分隔的子
串组成的一个字符串。如果第一个参数是一个常数字符串并且第二个参数是一种类型为SET的列,
FIND_IN_SET()函数被优化而使用位运算!如果str不是在strlist里面或如果 strlist是空字符串,返回0。如果任何一个参数是NULL,返回NULL。如果第一个参数包含一个“,”,该函数将工作不正常。  
mysql>   SELECT   FIND_IN_SET( 'b ', 'a,b,c,d ');
select  name from temp where find_in_set(1,str);
这个查询满足要求

3.SUBSTRING_INDEX(str,delim,count)  
返回从字符串str的第count个出现的分隔符delim之后的子串。如果count是正数,返回最后的分隔符到
左边(从左边数)的所有字符。如果count是负数,返回最后的分隔符到右边的所有字符(从右边数)。  
mysql> select SUBSTRING_INDEX('www.mysql.com ', '. ', 2);
->   'www.mysql '
mysql> select SUBSTRING_INDEX( 'www.mysql.com ', '. ', -2);
->   'mysql.com '

该函数对多字节是可靠的。

猜你喜欢

转载自jis117.iteye.com/blog/2088434
今日推荐