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

SQL Server中T-SQL能否用LIKE量词简化格式校验的正则写法?

T-SQL中LIKE运算符是否支持模式量化语法?

答案是不行,T-SQL的LIKE运算符不支持{n}这种模式量化写法,直接写WHERE Column LIKE '[A-Z]{2}[1-9]{6}'会把{2}和{6}当成普通字符去匹配,根本达不到你要的“2个大写字母+6位数字”的校验效果。

可行的替代方案

  • 方案1:重复字符组+长度校验
    这是兼容所有SQL Server版本的写法,用重复字符组定义格式,再加上长度校验确保输入刚好是8位:
WHERE Column LIKE '[A-Z][A-Z][1-9][1-9][1-9][1-9][1-9][1-9]'
  AND LEN(Column) = 8
  • 方案2:使用REGEXP_LIKE(SQL Server 2016及以上)
    从SQL Server 2016开始,官方引入了REGEXP_LIKE函数,支持标准正则表达式的模式量化语法,你可以直接这样写:
WHERE REGEXP_LIKE(Column, '^[A-Z]{2}[1-9]{6}$')

这里的^表示字符串开头,$表示字符串结尾,确保整个输入完全符合格式要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 02:59:59