我使用like谓词的[]通配符进行如下查询:
select  *
from  Stuwhere Sname like '[若]'go表中数据如下所示:
Sno                Sname    Ssex     Sdept
2006003735 罗雄威 男 计算机
2006003890 小越 女 自动化
2006003891 金喜善 女 表演
2006003892 刘若英 女 声乐系
2006003893 刘若媜 女 新闻学
预期的结果应该是:
2006003892 刘若英 女 声乐系
2006003893 刘若媜 女 新闻学但是执行语句之后得到的是nothing!
想请问对通配符[]该如何使用?

解决方案 »

  1.   

    select *
    from Stuwhere Sname like '%若%'
      

  2.   


    where Sname like '%若%' --包含若的都查出来?
      

  3.   

    建议
    where Sname like N'%若%'
      

  4.   

    where Sname like '%若%'Sname 包含 若的都查找出来!
      

  5.   

    where Sname like '%若%'
      

  6.   

    sname like '_[若]_'  --查找第二个字为若字的
      

  7.   

    [ ] 指定范围 ([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 的所有作者的姓氏。 
      

  8.   

    []说明是的想匹配的值的范围从中括号内取,'[若]'匹配只会匹配字段值是"若"的情况
    如果想实现楼主的需要,一般可以这样
    select *
    from Stuwhere Sname like '%[若]%'