Inicio > SQL SERVER > Utilizar % y _ en una sentencia LIKE con SQL SERVER

Utilizar % y _ en una sentencia LIKE con SQL SERVER



Bueno cuando utilizamos la clausula LIKE para realizar búsquedas en una base de datos no podemos usar campantemente los caracteres ‘%’ y ‘_’ esto se complica un poco ya que los utilizamos generalmente como parámetros para configurar nuestra búsqueda.
Quiero dejarles una pequeña solución, ejemplo:

SELECT Nombre FROM Usuario Where  Nombre LIKE '%' + @VALOR + ‘%’


Si usamos este SELECT, indicamos que queremos todos los nombres de usuarios que empiecen o terminen por el @VALOR, si @VALOR llega con un ‘%’ o un ‘_’ este devolverá todos los registros lo cual sería un problema de seguridad y además una falla lógica del software.
Pues bueno lo que debemos hacer es usar la clausula ESCAPE para cuando se ingrese un ‘%’ o un ‘_’ , de la siguiente manera:

SELECT  Nombre  FROM  Usuario
WHERE Nombre LIKE '%\' + @ VALOR + '%' ESCAPE '\' OR
 Nombre LIKE '%_' + @ VALOR + '_%' ESCAPE '_'


Espero les sirva a todos, dejen el comentario si les sirvió.🙂


Agradecimientos a: Camilo jaramillo

  1. Milock
    enero 27, 2010 a las 6:27 pm

    Está muy vacana la tesis, pero no se puede dejar de olvidar que las sentencias del WHERE solo dejan de funcionar cuando se está buscando en el search uno o más %. Es decir el escape en esta ocación omite el %. De resto todo right.

    Exitos……………..

  2. BRUJO
    julio 18, 2012 a las 9:34 pm

    SIII !!!…iba muy bien la explicacion hasta el concepto o sentencia “ESCAPE”…que funcion cumple..o que hace.???…para que otro problema sirve utilizarlo.????

  1. mayo 12, 2011 a las 4:57 pm

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: