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

Busquedas case y accent insensitive

Estas en el tema de Busquedas case y accent insensitive en el foro de Oracle en Foros del Web. Buenos días, necesitaría saber si hay alguna manera, en oracle 9, de hacer búsquedas case-insensitive y accent-insensitive. Muchas gracias....
  #1 (permalink)  
Antiguo 11/08/2008, 04:05
Avatar de Mitsey  
Fecha de Ingreso: marzo-2008
Mensajes: 7
Antigüedad: 16 años
Puntos: 0
Busquedas case y accent insensitive

Buenos días, necesitaría saber si hay alguna manera, en oracle 9, de hacer búsquedas case-insensitive y accent-insensitive.

Muchas gracias.
  #2 (permalink)  
Antiguo 11/08/2008, 10:39
 
Fecha de Ingreso: junio-2008
Ubicación: D.F.
Mensajes: 62
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Busquedas case y accent insensitive

Que Tal,

En Oracle no hay una forma de hacer ese tipo de busquedas directamente. Sin embargo podrías hacer tus
busquedas aplicando funciones como lower upper o soundex.

Saludos.
  #3 (permalink)  
Antiguo 11/08/2008, 21:36
Avatar de kikolice  
Fecha de Ingreso: marzo-2004
Mensajes: 1.510
Antigüedad: 20 años
Puntos: 7
Respuesta: Busquedas case y accent insensitive

o directamente desde la consulta, sin importar mayusculas o minusculas

lower(campo) = lower(cadenadebusqueda)
upper(campo) = upper(cadenadebusqueda)

para los acentos se me ocurre quitarle los acentos a la cadena y asi realizar la busqueda

replace(campo, 'á','a') = replace(cadenadebusqueda, 'á','a')

creo que con el translate seria mas facil (si no mal recuerdo como funciona

translate(campo, 'áéíóú','aeiou') = replace(cadenadebusqueda, 'áéíóú','aeiou')
__________________
Blogzote.com :-) Mi blog
  #4 (permalink)  
Antiguo 13/08/2008, 02:49
Avatar de Mitsey  
Fecha de Ingreso: marzo-2008
Mensajes: 7
Antigüedad: 16 años
Puntos: 0
Sonrisa Respuesta: Busquedas case y accent insensitive

Gracias por contestar, el problema es que la query que me queda es demasiado pesada, ya que el hacer el upper y el translate suponen mucho coste para la base de datos.
Seguiré intentándolo.

Muchas gracias.
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 23:37.