select * from `D_Topics` topic0_ where topic0_.createrID like '1%';
select * from `D_Topics` topic0_ where topic0_.createrID like '[10]%';
第一条能输出,第二条不行这是怎么回事啊

解决方案 »

  1.   

    mysql并没有like '[10]%';
    用regexp '[0-9]*';
      

  2.   

    如果想用正则的话,请使用 rlike 关键字。但这时候 % 号就没有特殊意义了,所以你那个 "[10]%" 看起来怪怪的:
    - 若是正则的话,用 rlike, % 就是字面字符
    - 若是sql的通配符的话,用 like, [10]就是字面字符
      

  3.   

    +1
    版主与rucypli都这么专业。
      

  4.   

    rlike 是 regexp 的同义语,我习惯用 rlike 少打几个字母:
    12.5.2. Regular ExpressionsTable 12.9. String Regular Expression Operators
    Name Description
    NOT REGEXP Negation of REGEXP
    REGEXP Pattern matching using regular expressions
    RLIKE Synonym for REGEXPA regular expression is a powerful way of specifying a pattern for a complex search.