经典ASP下MS-SQL Server双向字符串匹配查询方案咨询
在MS-SQL Server中实现双向包含的查询解决方案
要满足Link列与指定变量strWebPage的双向包含(含相等)需求,你可以通过双向的LIKE匹配结合逻辑OR来实现,无需依赖全文搜索:
最终查询语句(参数化版本)
SELECT * FROM Documents WHERE Link LIKE '%' + @strWebPage + '%' OR @strWebPage LIKE '%' + Link + '%'
语句说明
Link LIKE '%' + @strWebPage + '%':匹配Link包含strWebPage的所有情况(自然也包含二者完全相等的场景)@strWebPage LIKE '%' + Link + '%':匹配strWebPage包含Link的所有情况(同样包含相等场景)- 两个条件用
OR连接后,就完整覆盖了你需要的三种双向包含场景
重要提醒
- 避免SQL注入:绝对不要像原语句那样直接拼接字符串生成SQL,一定要使用参数化查询(上面的
@strWebPage是参数变量,在代码中通过对应的数据库访问组件传入参数值)。 - 大小写控制:如果需要区分大小写匹配,可以给
LIKE条件添加排序规则,例如:
去掉Link COLLATE SQL_Latin1_General_CP1_CS_AS LIKE '%' + @strWebPage + '%'_CS_则回到默认的不区分大小写匹配。
内容的提问来源于stack exchange,提问作者user16674741
相关产品推荐
相关产品推荐

