在存储过程中使用正则表达式

问题描述

如果您想要真正的正则表达式模式匹配,则需要滚动自己的CLR UDF。该链接介绍了如何执行此操作:

http://msdn.microsoft.com/zh- CN/magazine/cc163473.aspx

请记住,您只能在sql Server 2005或更高版本中执行此操作。

如果您只想要非Alpha,则可以执行以下操作:

'([^a-z])'

这是sql Server的文档like

http://msdn.microsoft.com/en- us/library/ms179859.aspx

解决方法

什么使字符以外的所有输入都可以使用的正则表达式模式?到目前为止,这就是我所拥有的-

CREATE PROCEDURE Paging_Movies
@alphaChar char(1)
AS
if @alphaChar = '#'
select * from Movies where movies like '[0-9]%'
else
select * from Movies where movies like @alphaChar + '%'