sql server regex

在SQL Server(2012)中,我有一个带有数值的字段.该字段的类型为int. 假设db中的字段包含123456789. 我这样搜索: select * from table1 where field1 like [1-9]{0,2}3456789 我也试过’^ [1-9] {0,2} $3456789′ 两者都不起作用.我究竟做错了什么? SQL Serve

在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,我们将及时予以处理。

为您推荐

联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部