You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server如何编写单条正则模式匹配特定字符组合替代多个LIKE条件

可以实现,需要依赖SQL Server的CLR正则支持:

SQL Server 原生的 LIKE 和 PATINDEX 本身不支持在单个表达式内定义多规则「或」逻辑,无法直接用单个原生通配符表达式替代你现在的三个OR条件。开启CLR集成的正则功能后,就可以用单个标准正则表达式实现需求:

AND Regex.IsMatch(TIL.code, '^fs|tf|ls') = 1

正则规则说明:

  • ^fs 匹配以fs开头的编码,等价于原条件的code like 'fs%'
  • tf 匹配任意位置包含tf的编码,等价于原条件的LIKE '%tf%'
  • ls 匹配任意位置包含ls的编码,等价于原条件的LIKE '%ls%'
    多个规则之间用|分隔表示或逻辑,和你原来的多LIKE筛选逻辑完全一致。

补充建议

如果你的数据库实例没有开启CLR支持,不建议为了这个需求单独开配置:你原来的多LIKE写法可读性更高,而且其中fs%属于前缀匹配,符合索引命中规则,执行效率比正则匹配更高,实际业务中更推荐使用原有写法。


内容的提问来源于stack exchange,提问作者Discover

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 23:30:01