-1

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

我有 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

我的like 查询应该如何返回这个结果?

4

2 回答 2

0

select * from your_table WHERE FREETEXT (text_column, "egg ra");

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

  • 包含 (Transact-SQL)
  • CONTAINSTABLE (Transact-SQL)
  • 自由文本 (Transact-SQL)
  • FREETEXTTABLE (Transact-SQL)

阅读内容以获取更多信息 - http://msdn.microsoft.com/en-us/library/ms142547%28v=sql.105%29.aspx

于 2013-07-24T17:06:59.403 回答
0
select * from your_table
where text_column like '%egg%' 
and text_column like '%ra%'

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

于 2013-07-22T16:41:54.073 回答