+ -
当前位置:首页 → 问答吧 → MSSQL的全文检索谓词contains在联表时候不能用吗?

MSSQL的全文检索谓词contains在联表时候不能用吗?

时间:2011-12-24

来源:互联网

比如像以往那样我们联表
SELECT * FROM TBA
INNER JOIN TBB
on TBA.Title
like '%' + TBB.Tag + '%'

现在改成全文搜索

SELECT * FROM TBA
INNER JOIN TBB
on CONTAINS(TBA.Title,TBB.Tag)

提示出错。
是写法不对吗?还是说CONTAINS的第二个参数只能是字符常量或者变量,不能是列名?

作者: KongHuLu   发布时间: 2011-12-24

CONTAINS
  ( { column | * } , '< contains_search_condition >' 
  ) 

< contains_search_condition > ::=
  { < simple_term >
  | < prefix_term >
  | < generation_term >
  | < proximity_term >
  | < weighted_term >
  } 
  | { ( < contains_search_condition > )
  { AND | AND NOT | OR } < contains_search_condition > [ ...n ] 
  } 

< simple_term > ::=
  word | " phrase "

< prefix term> ::=
  { "word * " | "phrase * " }

< generation_term > ::=
  FORMSOF ( INFLECTIONAL , < simple_term > [ ,...n ] ) 

< proximity_term > ::=
  { < simple_term > | < prefix_term > }
  { { NEAR | ~ } { < simple_term > | < prefix_term > } } [ ...n ]

< weighted_term > ::=
  ISABOUT
  ( { { 
  <simple_term>
  | < prefix_term >
  | < generation_term >
  | < proximity_term >
  } 
  [ WEIGHT ( weight_value ) ]
  } [ ,...n ] 
  ) 

作者: SQL777   发布时间: 2011-12-24