Note: I am使用 SQL 的全文搜索功能、CONTAINS 子句和所有 - * 是全文中的通配符,% 仅适用于 LIKE 子句。
我现在在几个地方读到 MS SQL 不支持“前导通配符”搜索(例如使用“*overflow”来匹配“stackoverflow”)。我正在考虑使用CLR 函数添加正则表达式匹配,但我很好奇人们可能有什么其他解决方案。
更多信息: 您只能在单词或短语的末尾添加星号。- 以及我的经验经验:当匹配“myvalue”时,“my*”有效,但“(星号)value”返回不匹配,当执行如下简单的查询时:
SELECT * FROM TABLENAME WHERE CONTAINS(TextColumn, '"*searchterm"');
因此,我需要一个解决方法。我只在我的网站中的实际搜索页面上使用搜索 - 因此它的工作方式基本上与 Google 的工作方式相同(在 Joe Sixpack 类型的用户看来)。没有那么复杂,但这种匹配确实不应该失败。
仅针对前导通配符的解决方法:
当然有很多缺点,只是为了快速解决...
更不用说CONTAINSTABLE了...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)