2

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

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

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

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

4

1 回答 1

6

SQL Server 本身不支持正则表达式。您需要为此安装 CLR 程序集。

LIKE模式语法不支持量词,因此在不使用 CLR 的情况下,唯一的选择是将其扩展。

where field1 like '3456789' 
 or  field1 like '[1-9]3456789'  
 or  field1 like '[1-9][1-9]3456789' 
于 2012-11-18T10:46:40.850 回答