Kha*_*mir 0 sql-server-2008 full-text-search
我已经成功地FTS
在我们存储药物名称的列上创建了一个索引,例如:
Amoxicillin 250mg capsules 21 capsule
Verapamil 160mg tablets 100 tablet
Run Code Online (Sandbox Code Playgroud)
当我搜索参数 Amoxicillin
或tablets
它工作正常。
但是当我搜索'%Amoxi%'
或blets
它没有想出答案时。但是,相同的关键字与Like
运算符一起使用。
select * from AMPP as a
WHERE Contains(A.[NM] ,'%Amoxici%')
Run Code Online (Sandbox Code Playgroud)
以上查询没有结果。但是下面的查询在结果中返回 140 行。
select * from AMPP as a
WHERE Contains(A.[NM] ,'%Amoxicillin%')
select * from AMPP as a
WHERE a.nm like '%Amoxici%'
Run Code Online (Sandbox Code Playgroud)
小智 5
CONTAINS 和 LIKE 是两种完全不同的野兽。
由于它是全文索引搜索,通配符 (% %) 变得多余。
对于您的查询,我相信您需要执行以下操作:
SELECT *
FROM AMPP AS A
WHERE CONTAINS(A.NM, '"Amoxici*"');
Run Code Online (Sandbox Code Playgroud)
请参阅MS 联机丛书
归档时间: |
|
查看次数: |
1594 次 |
最近记录: |