Transact SQL - mas opciones para comparaciones con like

04/11/2007 - 06:07 por Carlos | Informe spam
Hola a todos, me he topado con la necesidad de aplicar comodines al valor de
un campo para usarlo con el operador LIKE y compararlo con una cadena que yo
defino, algo asi como:

SELECT CAMPO_1
FROM DATABASE_1
WHERE CAMPO_1+'%' LIKE '123456'

-> la idea es de si por ejemplo el CAMPO_1 tiene un valor de '123', entonces
la condicion sea verdadera y seleccione el registro, CAMPO_1 siempre tiene
menor longitud que la cadena de comparacion. Gracias POr los consejos
 

Leer las respuestas

#1 Alejandro Mesa
04/11/2007 - 15:57 | Informe spam
Carlos,

SELECT CAMPO_1
FROM DATABASE_1
WHERE '123456' LIKE CAMPO_1 + '%'

No esperes un buen rendimiento, pues SQL Server no usa las estadisticas de
distribucion (en especial el histograma) de los indices, cuando se manipula
la columna en la expresion.


AMB


"Carlos" wrote:

Hola a todos, me he topado con la necesidad de aplicar comodines al valor de
un campo para usarlo con el operador LIKE y compararlo con una cadena que yo
defino, algo asi como:

SELECT CAMPO_1
FROM DATABASE_1
WHERE CAMPO_1+'%' LIKE '123456'

-> la idea es de si por ejemplo el CAMPO_1 tiene un valor de '123', entonces
la condicion sea verdadera y seleccione el registro, CAMPO_1 siempre tiene
menor longitud que la cadena de comparacion. Gracias POr los consejos

Preguntas similares