expr IN (value,...) 
如果 expr 是 IN 列表中的作一值,它将返回 1,否则返回 0。如果所有的值均是常数,那么所有的值被依照 expr 的类型进行计算和排序。然后以一个二进制搜索方式完成项目的搜索。这就意味着,如果 IN 列表完全由常数组成,IN 将是非常快的。如果 expr 是一个字母大小写敏感的字符串表达式,字符串比较将以大小写敏感方式执行: 
mysql> SELECT 2 IN (0,3,5,'wefwf');
        -> 0
mysql> SELECT 'wefwf' IN (0,3,5,'wefwf');
        -> 1从 MySQL 4.1 开始(符合 SQL-99 标准),如果左手边的表达式是 NULL,或者在列表中没有发现相匹配的值并且列表中的一个表达式是 NULL,IN 均返回 NULL。 expr NOT IN (value,...) 
等同于 NOT (expr IN (value,...))。

解决方案 »

  1.   

    SELECT id,message from message where message REGEXP '[a]' order by id
      

  2.   

    谢谢上面两个人的帮助,可是我还有点问题
    例如,字段的内容可能是a,b,c或a,b,c,d或b,a,d 等等
    现给一个字母,要想知道字母在不在其中我是这么写的
    select * from talbe 'a' in (字段名)
    可是结果好象不行,mysql不支持嵌套把?我在一个asp页中用上面语句就给 出错信息
    ————————————
    Vbscript Runtime error 'ASP 0185 : 3219'
    [Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是 1。
    ————————————
      

  3.   

    select * from talbe 'a' in (字段名)Vbscript Runtime error 'ASP 0185 : 3219'
    [Microsoft][ODBC Microsoft Access Driver] 标准表达式中数据类型不匹配。
      

  4.   

    你的服务器需要4.1然后你的ODBC驱动应该是MyODBC,执行上边的SQL才没大问题的说。
      

  5.   

    明白了,sql 没问题了,谢谢各位