lunes, 31 de marzo de 2014

TIPS : TSQL - SQL Server filtrar con Expresiones Regulares


Existen muchas veces en donde debamos hacer consultas de busqueda algo complejas como por ejemplo, obtener los registros en cuya cadena solo haya datos numericos o solo datos alfabeticos o unicamente determinadas letras.

A veces terminamos haciendo subconsultas que hacen engorroso el mantenimiento a futuro, y olvidamos que tenemos a disposicion una herramienta muy poderosa, aunque para algunos algo dificil, las Expresiones Regulares.


Las Expresiones Regulares, son patrones de busqueda, que nos permiten definir de manera muy potente predicados para nuestras consultas.

Las expresiones regulares en TSQL utilizan estos caracteres en conjunto con el operador LIKE.

Wild Character Description Example
% Cualquier cadena de 0 o más caracteres where nombre like '%Dennis%'
_ _ [Underscore] Cualquier caracter, pero solo una repetizion where nombre like ‘_im’ significa que la primera letra puede ser cualquier caracter y que los tres ultimos caracteres terminan en an , esto daría "Jim", "Kim", etc
[] Representa un conjunto de caracteres where lenguaje like ‘_[sp]_’ significa que la primera y ultima letra puede ser cualquiera, y las del sentro son las que contengan las letras s o p, dando algo como:
php, asp, jsp.
[^] Negacion de un grupo where codigo like ‘%[^aeiou]‘ significa que el codigo no puede contener vocales

Veamos algunos ejemplos:

SELECT * FROM Usuario WHERE nombre NOT LIKE '%[ao]%'

Resultado:



Bueno queda para ustedes buscar como aplicarlo.

Espero les sirva

No hay comentarios:

Publicar un comentario

 
Powered by Blogger