jueves, 25 de agosto de 2011

Intento de Expresiones Regulares en SQL Server

Aqui les dejo una simple funcion que valida una expression de acuerdo a un patron.

Create Function dbo.VerificarExpresion(@cadena as varchar(1000), @patron as varchar(100))
returns bit as
Begin
Declare @Len as int;
Declare @PatronBusqueda as varchar(8000);
Declare @Result as Int;

Select @Len = Len(@cadena);

While @Len>0
Begin
Select @PatronBusqueda = Isnull(@PatronBusqueda,'') + @patron;
Select @Len = @Len -1;
End
Select @Result = Case When @cadena Like @PatronBusqueda Then 1 Else 0 End;
Return @Result;
End
Go


y podemos testear :
-- verifica si en cadena estan letras comprendidas entre A y Z
select dbo.VerificarExpresion('cadena','[A-Z]')

-- verifica si 12345 está comprendido entre 0 y 9
select dbo.VerificarExpresion('12345','[0-9]')

-- verifica si la en a5ed estan ocurrencias del
select dbo.VerificarExpresion('a5ed','[a5ed]') patron a5ed


Hasta pronto

No hay comentarios: