一尘不染

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

sql

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

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 + '%'

阅读 153

收藏
2021-03-10

共1个答案

一尘不染

如果您想要真正的正则表达式模式匹配,则需要滚动自己的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

2021-03-10