Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Ayuda con condicion like '%'

Estas en el tema de Ayuda con condicion like '%' en el foro de Oracle en Foros del Web. Hola amigos, tengo una tabla alumnos con un campo codigo que no es obligatorio y que puede tener valores 1,2,3... sobre la que quiero hacer ...
  #1 (permalink)  
Antiguo 17/02/2011, 05:31
 
Fecha de Ingreso: octubre-2006
Mensajes: 123
Antigüedad: 18 años, 1 mes
Puntos: 1
Ayuda con condicion like '%'

Hola amigos, tengo una tabla alumnos con un campo codigo que no es obligatorio y que puede tener valores 1,2,3... sobre la que quiero hacer un filtrado.

en el where tengo where codigo like '%1' y entonces me saca todos lo que empieza su codigo por uno, esto lo hace correctamente

el caso es que en un determinado caso quiero que me saque todos los alumnos sin hacer filtro, es decir me gustaria que al hacer where codigo like '%' me devolviera todos registros

si esto lo hago sobre un campo obligatorio al hacer '%' es como si ignorara el filtro, pero al hacerlo sobre un campo no obligatorio si hago '%' solo me devuelve los que tienen el campo codigo con algun valor

sabeis como puedo desde sql hacer para que me devuelva todos registros desde oracle? haciendo like '%' sobre un campo no obligatorio. si no me he explicado decirmelo

gracias
  #2 (permalink)  
Antiguo 17/02/2011, 06:50
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 9 meses
Puntos: 89
Respuesta: Ayuda con condicion like '%'

Puedes quitar el LIKE, si quieres todos los registros no te hace falta condicion en el WHERE.

Por otra parte, si LIKE '%' te devuelve sólo los que tienen valor, bastaría con poner campo LIKE '%' OR campo IS NULL (aunque sigo diciendo que si los tienes todos, quites el LIKE)
  #3 (permalink)  
Antiguo 18/02/2011, 06:52
 
Fecha de Ingreso: octubre-2006
Mensajes: 123
Antigüedad: 18 años, 1 mes
Puntos: 1
Respuesta: Ayuda con condicion like '%'

Hola,

gracias por la respuesta

Pero lo que quiero evitar es tener que poner el like desde el lenguaje de programacion. Me gustaria poder pasar el parametro % o 1,2,3 y no tener que poner el like desde java.

NO se puede poner esta condicion desde sql?

gracias
  #4 (permalink)  
Antiguo 21/02/2011, 02:30
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 9 meses
Puntos: 89
Respuesta: Ayuda con condicion like '%'

Entonces tienes que hacer un procedimiento almacenado que acepte un parámetro de entrada y utilizarlo a la hora de hacer la sentencia, al llamar a ese procedimiento almacenado desde tu código, pasarás lo que quieres poner en el LIKE
  #5 (permalink)  
Antiguo 04/03/2011, 07:04
 
Fecha de Ingreso: abril-2008
Mensajes: 93
Antigüedad: 16 años, 7 meses
Puntos: 10
Respuesta: Ayuda con condicion like '%'

Si quieres puedes probar lo siguiente:

NVL(codigo,'NULO') like '%'

Así cuando una fila sea NULL, le asignará el valor 'NULO' (u otro valor que nunca exista de verdad) y ya cumplirá el like.

Tiene una pega, y es que si tenías un indice por codigo, no lo vas a usar por lo que el rendimiento puede decaer (no conozco el tamaño de la tabla)

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:57.