小编典典

SQL服务器正则表达式

sql

在SQL Server(2012)中,我有一个带有数字值的字段。该字段是类型int。假设db中的字段包含123456789。我正在这样搜索:

select * from table1 where field1 like '[1-9]{0,2}3456789'

我也尝试过 '^[1-9]{0,2}$3456789'

两者都不起作用。我究竟做错了什么?


阅读 149

收藏
2021-05-05

共1个答案

小编典典

SQL Server本机不支持正则表达式。为此,您需要安装CLR组件。

LIKE模式语法不支持量词所以不使用CLR的唯一选择是扩大它。

where field1 like '3456789' 
 or  field1 like '[1-9]3456789'  
 or  field1 like '[1-9][1-9]3456789'
2021-05-05