在SQL Server(2012年)我有数值的字段。该字段的类型为int
。 假设db中的字段包含123456789
。 我在寻找这样的:SQL Server的正则表达式
select * from table1 where field1 like '[1-9]{0,2}3456789'
我也曾尝试'^[1-9]{0,2}$3456789'
两者都不能正常工作。我究竟做错了什么?
在SQL Server(2012年)我有数值的字段。该字段的类型为int
。 假设db中的字段包含123456789
。 我在寻找这样的:SQL Server的正则表达式
select * from table1 where field1 like '[1-9]{0,2}3456789'
我也曾尝试'^[1-9]{0,2}$3456789'
两者都不能正常工作。我究竟做错了什么?
SQL服务器本身并不支持正则表达式。你需要为此安装一个CLR程序集。
的LIKE
模式语法不支持量词所以不使用CLR的唯一选择是扩大它。
where field1 like '3456789'
or field1 like '[1-9]3456789'
or field1 like '[1-9][1-9]3456789'
文本“不支持量词” ......这样的耻辱:)谢谢你的帮助。 –
它支持^ $吗? –
使用“or field1 like”几次会伤害性能? –
哪个版本?不支持 –
的SQL Server 2012 –
正则表达式为整数仍然可以用户正则表达式搜索在SQL –