在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'

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。