也许这是一个愚蠢的问题。
如何使用自由文本在sql中实现“like '%test%‘?”
我认为包含和自由文本等同于“like '%test%',加上一个get的语法检查和性能。
在我的例子中,我有:
select * from ServiceOfferResultIndexed where contains(FirstName,'test') 这给了我18
rows.select * from ServiceOfferResultIndexed where FirstName like '%test%'这给了我229行。
谢谢你的帮助。
数据库是MS SQL 2005。我认为它确实支持* as后缀。看起来,如果我提供'"*test"‘,*就被认为是一个单词,而不是一个通配符。Test变成了下面的单词。
Contains将只支持"test *",它查找以“test”开头的所有短语,后跟任何其他字符。
发布于 2011-11-15 05:15:34
这是两个不同的表达式。LIKE '%test%'将查找这四个字符在一起的任何行(例如,证言或参赛者),其中contains将匹配单词。
我不知道您使用的是什么全文引擎,但通常都支持通配符。例如,如果使用where contains(firstame, '*test*')会发生什么?在自由文本搜索中,您必须查阅特定的dbms文档中的通配符。
https://stackoverflow.com/questions/8128135
复制相似问题