SQL教程上面得现在,我们希望从上面的 "Persons" 表中选取居住的城市不以 "A" 或 "O" 或 "F" 开头的人:我们可以使用下面的 SELECT 语句:SELECT * FROM Persons
WHERE City LIKE '[!AOF]%'结果集:
Id LastName FirstName Address City 
3 Carter Thomas Changan Street Beijing 我实际用(SQL2005)
select * from student
where name like '[!小]%'
id    name
2 小王
3 小红
4 小林
结果完全相反啊 ,按教程上的意思是 [!charlist] 不包含,我实际查询结果却是包含的结果,我用的是SQL2005,

解决方案 »

  1.   

    通配符  说明  示例  
    %
     包含零个或多个字符的任意字符串。
     WHERE title LIKE '%computer%' 将查找在书名中任意位置包含单词 "computer" 的所有书名。
     
    _(下划线)
     任何单个字符。
     WHERE au_fname LIKE '_ean' 将查找以 ean 结尾的所有 4 个字母的名字(Dean、Sean 等)。
     
    [ ]
     指定范围 ([a-f]) 或集合 ([abcdef]) 中的任何单个字符。
     WHERE au_lname LIKE '[C-P]arsen' 将查找以 arsen 结尾并且以介于 C 与 P 之间的任何单个字符开始的作者姓氏,例如 Carsen、Larsen、Karsen 等。
     
    [^]
     不属于指定范围 ([a-f]) 或集合 ([abcdef]) 的任何单个字符。
     WHERE au_lname LIKE 'de[^l]%' 将查找以 de 开始并且其后的字母不为 l 的所有作者的姓氏。
     
      

  2.   


    select * from persons 
             where charindex('A',city,1)<0 or CHARINDEX('O',city,1)<0 or CHARINDEX('F',city,1)<0
      

  3.   

    LS的几位SQL达人,能不能在回答问题考虑下新手的能力呢
    我只看的懂4楼的意思,3楼大概是说应该 '^AOF%' 而不是 '!AOF%'这样写吧5楼的我就完全不懂了