用这样啊:
select     P_intro 
FROM   Product 
WHERE   CONTAINS(P_Intro,   '"昆山*"'); 
GO 

解决方案 »

  1.   

    我的最简单的想法是不通过程序控制,直接通过sql2005的干扰词功能实现,不知道大家有没有更好的思路?
      

  2.   

    SQL Server Full Text Search Noise Words and Thesaurus Configurations
    http://www.mssqltips.com/tip.asp?tip=1491
    在你服务器上的特殊词组里面去掉这些试试,
    $SQL_Server_Install_Path\Microsoft SQL Server\MSSQL.1\MSSQL\FTDATA\ 
      

  3.   

    SQL Server 2005 全文搜索包括改进和更新的干扰词文件
    http://support.microsoft.com/kb/905617/zh-cn
    -----------
    在干扰词文件中去掉你需要查询的那几个就可以了
      

  4.   


    最终改变了思路,不过还是谢谢各位! 特别是hery2002和CathySun118
      

  5.   

    指定以指定文本开始的词或短语的匹配项。将前缀字词用英文双引号 ("") 括起来,并在右引号前添加一个星号 (*),这样一来,以星号前指定的简单字词开头的所有文本都将被匹配。应以下列方式指定子句:CONTAINS (column, '"text*"')。星号可以匹配根词或短语的词中的 0 个、1 个或多个字符。如果文本和星号不用英文双引号分隔,则谓词将读取 CONTAINS (column, 'text*'),全文搜索会将星号看作字符,搜索 text* 的完全匹配项。由于断字符通常忽略 (*) 这样的字符,因此全文引擎将不会查找带此类字符的词。如果 <prefix_term> 是一个短语,则短语中包含的每个词都将被看成一个单独的前缀。因此,指定了一个 "local wine *" 前缀字词的查询,将匹配所有包含 "local winery"、"locally wined and dined" 等文本的行。
    意思就是说,WHERE   CONTAINS(P_Intro,   '"昆山[ "'); ,加上英文的双引号就ok了