select top 1 * from tablename where DESC like '%朋友%'

解决方案 »

  1.   

    select * from tb_name where left(DESC,3)='朋友|' or right(DESC,3)='|朋友’ or mid(DESC,INSTR('|朋友|',DESC),4)>0 
    试试行不行,随便写的,没有试过
      

  2.   

    select * from tb_name where left(DESC,3)='朋友|' or right(DESC,3)='|朋友’ or INSTR('|朋友|',DESC)>0
    上面错了
      

  3.   

    可以将数据库的内容形式改一下:
    1、|你是我的情人|朋友|我的朋友|
    2、|大家好|才是真的|我的朋友|
    3、|情人|敌人|我的朋友|这样的话,可以用如下的语句来匹配:
    select * from tablename where DESC like '%|朋友|%';
      

  4.   

    OK ,下面的方法可以,已经测试成功
     select * from tb_name where left(DESC,3)='朋友|' or right(DESC,3)='|朋友’ or INSTR(DESC,'|朋友|')>0
      

  5.   

    刚才还测试了一下:如果数据库中desc有“朋友”这一行,那么对上面的语句要改动一下:
    select * from tb_name where left(DESC,3)='朋友|' or right(DESC,3)='|朋友’ or INSTR(DESC,'|朋友|')>0 or desc = '朋友';到这里,已经所有的情况都考虑到了!!
      

  6.   

    可以用正则式匹配,我用以下语句可以得出第一条记录。
    mysql>select * from table_name where name regrxp('朋友.');
      

  7.   

    明显都不完善,这只是举个例子,就是说匹配出只有朋友的那条记录,我试了一下,可能最好的方法是这个:SUBSTRING_INDEX按分隔|来取。然后比较
      

  8.   

    hy2003fly() 的方法很简捷,但我不太明白,.是什么意思,请解释一下,我好给分。
      

  9.   

    "."表示匹配任意字符,“^”表示匹配字符串的开始部分,“$”表示匹配字符串的结束部分,
    “\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)
      

  10.   

    mysql>select * from table_name where name regrxp('朋友.');请教一下:上一句是匹配所有有'朋友'的纪录?
    不过修改后没有执行通过。若是只取'朋友'俩字,是否如下写法?
    但是也没有执行通过。。
    mysql>select * from table_name where name regrxp('^朋友$');
      

  11.   

    mysql> select * from friend where re REGEXP "朋友" =1 limit 1;
    +----------------------------+
    | re                     |
    +----------------------------+
    | 你是我的情人|朋友|我的朋友 |
    +----------------------------+
    1 row in set (0.00 sec)