Uma*_*air 1 sql t-sql sql-server full-text-search
出于某种原因,我无法在Google上找到答案!但是使用SQL包含函数我怎么能告诉它从字符串的开头开始,即我正在寻找等同于LIKE'some_term%'的全文.
我知道我可以使用,但由于我已经设置了全文索引,并且该表预计有数千行,我更愿意使用Contains.
谢谢!
你想要这样的东西:
如果术语以相同的字符开头,则可以使用"前缀术语",而不是指定多个术语.要使用前缀术语,请指定起始字符,然后在术语末尾添加星号(*)通配符.将前缀术语括在双引号中.以下语句返回与前一个相同的结果.
-- Search for all terms that begin with 'storm'
SELECT StormID, StormHead, StormBody FROM StormyWeather
WHERE CONTAINS(StormHead, '"storm*"')
Run Code Online (Sandbox Code Playgroud)
http://www.simple-talk.com/sql/learn-sql-server/full-text-indexing-workbench/
您可以将CONTAINS与LIKE子查询一起仅用于匹配开始:
SELECT *
FROM (
SELECT *
FROM myTable WHERE CONTAINS('"Alice in wonderland"')
) AS S1
WHERE S1.edition LIKE 'Alice in wonderland%'
Run Code Online (Sandbox Code Playgroud)
这样,慢速LIKE查询将针对较小的集合运行
| 归档时间: |
|
| 查看次数: |
5822 次 |
| 最近记录: |