在JSP+MYSQL开发中,想从数据库中查询所有包含姓名:人事科张三的记录,大家可能会忽视这样一种情况,就是字段中有值:人事科张三强;李四的记录如果用函数... where INSTR(name,'人事科张三')!=0  也会将上述记录查出来,我的那个字段是有部门名称和部门员工用分号;如
   ...    name 
   ...    人事科张三强;人事科王五
   ...    财务科李斯;人事科张三;业务科张鳗鱼
   那么我该用什么语句将包含"人事科张三"的记录查询出来呢?这个问题在asp中同样会出现。谢谢大家!

解决方案 »

  1.   

    select * from table where name like '%人事科张三%';
      

  2.   

    select * from table where name like '%人事科张三%'
      

  3.   

    select * from table where name like '%人事科张三';
      

  4.   

    select * from table where name like '%人事科张三;%';
    加个分号试试
      

  5.   

    插数据的时候在第一个串的前面也加上 ;   最后一个串的后面加 ;
    查询的时候就用select * from table where name like '%;人事科张三;%';
    就没问题了
      

  6.   

    感谢大家的回复,我试了试还是不行,大家提供的方法好象无法通用,比如如果两条记录为
    id     names
    1      张三强
    2      张三
    3      张三丰;成昆
    4      陆小凤;张三
    用语句:select * from table where names like '%张三'; 还是能够将张三强的记录查出来,而我想查的只是names为张三或有张三名字的记录,不知大家能否继续给出解决的方法,否则只有按照fashi1000所说的那样在设计字段值了,但还是于心不甘呀,难到就没有通用的解决方法了么?