解决方案 »

  1.   

    mysql like 的通配符只有 "_" 和 "%" 
    "_"是匹配任意单个字符
    "%"是匹配任意多个字符。select * from users where name like '%sz[oö]%'
    的意思就是 name 中包含 sz[oö] 的记录。
    而不是 包含 szo 或 szö的记录
      

  2.   

    like并不是正则表达式匹配。而只是通配符%和_等匹配,因此并不支持[xy]这种字符组。
    你可以尝试REGEXP
      

  3.   

    select * from users where name like '%szo%' or name like '%szö%'
    你不是已经用这个办法解决了吗?
      

  4.   

    尝试过,一样的结果 
    有别的办法吗 ?不会吧?你的regexp是怎么写的?
    select * from users where name regexp  'sz[oö]' 
      

  5.   

    SELECT * 
    FROM  users
    WHERE  name
    REGEXP  '(a-z)*sz(o|ö)(a-z)*'
    LIMIT 0 , 30
    解决了谢谢大家 
    结帖
      

  6.   

    尝试过,一样的结果 
    有别的办法吗 ?不会吧?你的regexp是怎么写的?
    select * from users where name regexp  'sz[oö]' 
    因为 like 不识别 [oö],regexp 不识别 %, 所以拉 
    SELECT * 
    FROM  users
    WHERE  name
    REGEXP  '(a-z)*sz(o|ö)(a-z)*'
    LIMIT 0 , 30
      

  7.   

    select * from users where name like '%szo%' or name like '%szoö%'
      

  8.   

    尝试过,一样的结果 
    有别的办法吗 ?不会吧?你的regexp是怎么写的?
    select * from users where name regexp  'sz[oö]' 
    尝试了一下你的代码  比我的简洁好用 
    谢谢 不嫌弃我这只菜鸟耐心解答 
      

  9.   

    尝试过,一样的结果 
    有别的办法吗 ?不会吧?你的regexp是怎么写的?
    select * from users where name regexp  'sz[oö]' 
    因为 like 不识别 [oö],regexp 不识别 %, 所以拉 
    SELECT * 
    FROM  users
    WHERE  name
    REGEXP  '(a-z)*sz(o|ö)(a-z)*'
    LIMIT 0 , 30既然用了regexp,你还要%有何用? 这就好比是穿着登山鞋去打篮球?
      

  10.   

    这个说来话长  , 还有 a ä i ï u ü 好麻烦 
      

  11.   

    尝试过,一样的结果 
    有别的办法吗 ?不会吧?你的regexp是怎么写的?
    select * from users where name regexp  'sz[oö]' 
    尝试了一下你的代码  比我的简洁好用 
    谢谢 不嫌弃我这只菜鸟耐心解答 客气了。谁不是从菜鸟过来的。
    掌握一定的技巧,往往能让学习效率加倍。