在SQL Server(2012)中,我有一个带有数值的字段.该字段的类型为int.
假设db中的字段包含123456789.
我这样搜索:
select * from table1 where field1 like '[1-9]{0,2}3456789'
我也试过’^ [1-9] {0,2} $3456789′
两者都不起作用.我究竟做错了什么?
解决方法
SQL Server本身不支持正则表达式.您需要为此安装CLR程序集.
LIKE模式语法不支持量词,因此如果不使用CLR,唯一的选择是扩展它.
where field1 like '3456789' or field1 like '[1-9]3456789' or field1 like '[1-9][1-9]3456789'