Regex SQL Server中的正则表达式

Regex SQL Server中的正则表达式,regex,sql-server-2008,pattern-matching,Regex,Sql Server 2008,Pattern Matching,我需要搜索所有有一些共同模式的记录。比如说我们有 Struts 1.3.0, Struts 1.3.1, Struts 2.1.0, Struts 2.1.1.1 基本上,字符串的某些部分是常见的,但对于某些部分,我可以使用预定义的字符集 (例如,上面提到的“Struts”是静态字符串,但接下来的几个字符可以是0-9和。类似地,这也可以是一些字母数字值) 如何在SQL Server中使用正则表达式来实现此目的?我知道用Java/PHP很容易做到这一点,但如何在SQL Server中做到这

我需要搜索所有有一些共同模式的记录。比如说我们有

Struts 1.3.0, 
Struts 1.3.1, 
Struts 2.1.0, 
Struts 2.1.1.1
基本上,字符串的某些部分是常见的,但对于某些部分,我可以使用预定义的字符集

(例如,上面提到的“Struts”是静态字符串,但接下来的几个字符可以是0-9和。类似地,这也可以是一些字母数字值)


如何在SQL Server中使用正则表达式来实现此目的?我知道用Java/PHP很容易做到这一点,但如何在SQL Server中做到这一点?

手册将回答您的所有问题。SQL Server中不存在真正的正则表达式。LIKE是最好的选择。
WHERE table.column像“%Struts[0-9].[0-9].[0-9].[0-9].
可能是最接近的。但是请注意,like可能非常慢。字符串可以是任何东西1.2、1.2.3或1.2.3.4…所以SQL server似乎不支持它,或者有任何调整?就我所知,我们唯一的选择是在Java级别处理它
table.column(如“%Struts[0-9].[0-9]]”
将与所有这些匹配-如果您需要更好的解决方案,至少应该以这种方式缩小SQL Server的结果范围。是的,在SQL Server中无法实现这一点。最后,我们用java完成了处理部分:(