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

Problema condicion LIKE

Estas en el tema de Problema condicion LIKE en el foro de Oracle en Foros del Web. Buenas a todos, soy nuevo por acá, de hecho este es mi primer post. Decidi integrarme a esta comunidad pues cuando estaba buscando informacion para ...
  #1 (permalink)  
Antiguo 01/12/2012, 12:53
Avatar de AtanGonzalo  
Fecha de Ingreso: diciembre-2012
Mensajes: 4
Antigüedad: 12 años
Puntos: 0
Pregunta Problema condicion LIKE

Buenas a todos, soy nuevo por acá, de hecho este es mi primer post. Decidi integrarme a esta comunidad pues cuando estaba buscando informacion para desarrollar mis trabajos encontré mucha y muy buena acá.

Hace menos de una semana comence con SQL oracle e iba todo bien hasta que me encontré con este sencillo problema que no soy capaz de resolver porque aun no conosco bien este lenguaje.

/* Debo mostrar la descripcion, marca, id_ farmaco de la tabla farmacos cuyas descripciones comienzen con 'a' o 'd', dicha corroboracion debe ser simultanea, es decir, si tengo dos farmacos cuyas descripciones comiencen con 'a' y dos farmacos que comiencen con 'd', mostrar los cuatro. */

Se que mi problema probablemente este en como estoy usando el like ...

Aqui la tabla creada con los valores.



Acá el codigo que no me funciona
Código:
select descripcion,marca,id_farmaco
from farmaco
where descripcion like '[a-d]%';
Cuando lo ejecuto resulta esto:



De ante mano muchas gacias.
  #2 (permalink)  
Antiguo 01/12/2012, 15:58
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Problema condicion LIKE

Cita:
[a-d]
A menos que me equivoque mucho, esto se usa con expresiones regulares, no con LIKE. SOn dos clausulas totalmente diferentes.
Creo que lo que debes usar es REGEXP_LIKE.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 01/12/2012, 17:30
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 17 años, 6 meses
Puntos: 43
Respuesta: Problema condicion LIKE

No se como funciona el REGEXP_LIKE, ya lo miraré.

EN cualquier caso, esto te funcionaría para tu ejemplo :

Código SQL:
Ver original
  1. WHERE FARMACO LIKE 'a%' OR FARMACO LIKE 'd%'

O esto también :

Código SQL:
Ver original
  1. WHERE SUBSTR(FARMACO,1,1 ) IN ( 'a','d' )
  #4 (permalink)  
Antiguo 02/12/2012, 16:12
Avatar de AtanGonzalo  
Fecha de Ingreso: diciembre-2012
Mensajes: 4
Antigüedad: 12 años
Puntos: 0
Respuesta: Problema condicion LIKE

jc3000 =)

gracias ya lo solucioné
  #5 (permalink)  
Antiguo 02/12/2012, 19:46
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Problema condicion LIKE

Lo correcto en FDW es postear la solución que encontraste para poder compartirla.
FDW es un foro colaborativo. El sentido es aprender entre todos, y compartir entre todos. De lo contrario, no esperes mucha ayuda en el futuro.

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 03/12/2012, 01:18
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 17 años, 6 meses
Puntos: 43
Respuesta: Problema condicion LIKE

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Lo correcto en FDW es postear la solución que encontraste para poder compartirla.
FDW es un foro colaborativo. El sentido es aprender entre todos, y compartir entre todos. De lo contrario, no esperes mucha ayuda en el futuro.

+1

Hay mucha gente que no entiende el objetivo de los foros, pero esto pasa en todos, no solo en este, si yo te contara.....................
  #7 (permalink)  
Antiguo 06/12/2012, 19:05
Avatar de AtanGonzalo  
Fecha de Ingreso: diciembre-2012
Mensajes: 4
Antigüedad: 12 años
Puntos: 0
Respuesta: Problema condicion LIKE

Creo que dije implicitamente que aplique el mismo codigo que mostro jc3000 tal cual asi que los comentarios, completamente fuera de lugar.
  #8 (permalink)  
Antiguo 06/12/2012, 20:53
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Problema condicion LIKE

No tan completamente...
En informática, y especialmente sitios como este, no existe lo "implícito", no hacemos literatura, trabajamos con cosas técnicas y por ende, se requiere exactitud.
Si tienes una solución armada, la posteas, aunque te parezca redundante.

Lo que nos importa es ver la lógica completa de lo que usaste, en especial para ver si hay cosas que pueden hacerse de otro modo.
En muchísimas ocasiones, la solución que termina implementando el forista no es la más adecuada, porque al principio omitió decirnos cosas que luego vemos en la consulta final. En esos casos es muy habitual que le replanteemos la solución para ganar optimización.
Como ves, no es tan arbitrario como piensas.

La próxima vez, postea toda la solución.
Te puede sorprender el eco que obtengas.

ASí que... los comentarios, están completamente justificados.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: condiciones, sql
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 22:24.