select * from tb_name where left(DESC,3)='朋友|' or right(DESC,3)='|朋友’ or mid(DESC,INSTR('|朋友|',DESC),4)>0 试试行不行,随便写的,没有试过
select * from tb_name where left(DESC,3)='朋友|' or right(DESC,3)='|朋友’ or INSTR('|朋友|',DESC)>0 上面错了
可以将数据库的内容形式改一下: 1、|你是我的情人|朋友|我的朋友| 2、|大家好|才是真的|我的朋友| 3、|情人|敌人|我的朋友|这样的话,可以用如下的语句来匹配: select * from tablename where DESC like '%|朋友|%';
OK ,下面的方法可以,已经测试成功 select * from tb_name where left(DESC,3)='朋友|' or right(DESC,3)='|朋友’ or INSTR(DESC,'|朋友|')>0
刚才还测试了一下:如果数据库中desc有“朋友”这一行,那么对上面的语句要改动一下: select * from tb_name where left(DESC,3)='朋友|' or right(DESC,3)='|朋友’ or INSTR(DESC,'|朋友|')>0 or desc = '朋友';到这里,已经所有的情况都考虑到了!!
可以用正则式匹配,我用以下语句可以得出第一条记录。 mysql>select * from table_name where name regrxp('朋友.');
mysql>select * from table_name where name regrxp('朋友.');请教一下:上一句是匹配所有有'朋友'的纪录? 不过修改后没有执行通过。若是只取'朋友'俩字,是否如下写法? 但是也没有执行通过。。 mysql>select * from table_name where name regrxp('^朋友$');
mysql> select * from friend where re REGEXP "朋友" =1 limit 1; +----------------------------+ | re | +----------------------------+ | 你是我的情人|朋友|我的朋友 | +----------------------------+ 1 row in set (0.00 sec)
试试行不行,随便写的,没有试过
上面错了
1、|你是我的情人|朋友|我的朋友|
2、|大家好|才是真的|我的朋友|
3、|情人|敌人|我的朋友|这样的话,可以用如下的语句来匹配:
select * from tablename where DESC like '%|朋友|%';
select * from tb_name where left(DESC,3)='朋友|' or right(DESC,3)='|朋友’ or INSTR(DESC,'|朋友|')>0
select * from tb_name where left(DESC,3)='朋友|' or right(DESC,3)='|朋友’ or INSTR(DESC,'|朋友|')>0 or desc = '朋友';到这里,已经所有的情况都考虑到了!!
mysql>select * from table_name where name regrxp('朋友.');
“\d”表示匹配0到9之间的数字,“?”表示匹配0个或1个前面字符的值。具体你可以查一查正则表达式方面的资料,内容不是很多,又很容易学。
下面我举几个例子:
mysql> select 'William' regexp '^Wil?','Wendy' regexp('^Wil');
+--------------------------+------------------------+
| 'William' regexp '^Wil?' | 'Wendy' regexp('^Wil') |
+--------------------------+------------------------+
| 1 | 0 |
+--------------------------+------------------------+
1 row in set (0.06 sec)mysql> select 'red' regexp 'red|green|blue','hammer' regexp 'ham$';
+-------------------------------+------------------------+
| 'red' regexp 'red|green|blue' | 'hammer' regexp 'ham$' |
+-------------------------------+------------------------+
| 1 | 0 |
+-------------------------------+------------------------+
1 row in set (0.01 sec)
不过修改后没有执行通过。若是只取'朋友'俩字,是否如下写法?
但是也没有执行通过。。
mysql>select * from table_name where name regrxp('^朋友$');
+----------------------------+
| re |
+----------------------------+
| 你是我的情人|朋友|我的朋友 |
+----------------------------+
1 row in set (0.00 sec)