如何构建一个类似的查询来执行和操作

时间:2013-07-22 16:39:00

标签: sql sql-server

我有一个存储过程,它根据我发送的文本作为搜索字符串返回结果

我有4条带文字的记录

1  egg whole raw    
2  egg cooked     
3  egg fried omelet    
4  raw  egg and tomatoes

我想执行类似的搜索,如果我在搜索文本框中指定'egg ra'作为我的搜索字符串,它应该过滤并返回两行作为结果

1  egg whole raw
2 raw egg and tomatoes

我喜欢的查询应该如何回复这个结果?

2 个答案:

答案 0 :(得分:0)

select * from your_table
where text_column like '%egg%' 
and text_column like '%ra%'

但这不会使用索引而且可能会很慢。

答案 1 :(得分:0)

  

从your_table选择* WHERE FREETEXT (text_column,“egg ra”);

您必须在MSSQL中启用完全自由文本搜索才能执行上述操作,以下是搜索文本时使用的其他选项。

  • CONTAINS(Transact-SQL)
  • CONTAINSTABLE(Transact-SQL)
  • FREETEXT(Transact-SQL)
  • FREETEXTTABLE(Transact-SQL)

阅读this了解详情 - http://msdn.microsoft.com/en-us/library/ms142547%28v=sql.105%29.aspx