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

Busqueda de datos dif mayus - minus

Estas en el tema de Busqueda de datos dif mayus - minus en el foro de Oracle en Foros del Web. Hola! Necesito realizar una busqueda donde no me diferencie entre mayusculas y minusculas. Estoy usando oracle 10g. La sentencia que tengo es: SELECT nombre FROM ...
  #1 (permalink)  
Antiguo 16/09/2009, 10:09
Avatar de gabrican  
Fecha de Ingreso: junio-2008
Ubicación: Medellin
Mensajes: 89
Antigüedad: 16 años, 5 meses
Puntos: 4
Busqueda Busqueda de datos dif mayus - minus

Hola!
Necesito realizar una busqueda donde no me diferencie entre mayusculas y minusculas. Estoy usando oracle 10g.
La sentencia que tengo es: SELECT nombre FROM persona WHERE regexp_like ( nombre,’Ramon’); , pero no me funciona.
alguna idea???

tks !
  #2 (permalink)  
Antiguo 16/09/2009, 10:24
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Busqueda de datos dif mayus - minus

Prueba así:

Código sql:
Ver original
  1. SELECT nombre FROM persona WHERE LOWER(nombre) = LOWER('Ramon');

En otros DBMS existe codificaciones que ignora este tipo de búsquedas. Oracle debe tener uno también. Con la codificación y el cotejamiento correcto, no es necesario hacer uso de esta función.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 18/09/2009, 03:42
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años
Puntos: 85
Respuesta: Busqueda de datos dif mayus - minus

Solo a partir de 10g.

Código:
oracle@10G> create table t1 (data varchar2(20));

Tabla creada.

oracle@10G> insert into t1 values ('Datos');

1 fila creada.

oracle@10G> insert into t1 values ('datos');

1 fila creada.

oracle@10G> select * from t1 where data = 'Datos';

DATA
--------------------
Datos

oracle@10G> alter session set NLS_SORT='BINARY_CI';

Sesión modificada.

oracle@10G> alter session set NLS_COMP='LINGUISTIC';

Sesión modificada.

oracle@10G> select * from t1 where data = 'Datos';

DATA
--------------------
Datos
datos
Saludos
  #4 (permalink)  
Antiguo 18/09/2009, 05:00
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 17 años, 5 meses
Puntos: 43
Respuesta: Busqueda de datos dif mayus - minus

Buen aporte compañero ¡¡¡¡¡

Directamente a mi directorio de cosas utiles.

Un saludo.
  #5 (permalink)  
Antiguo 18/09/2009, 08:27
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Busqueda de datos dif mayus - minus

Perfecto matanga
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #6 (permalink)  
Antiguo 22/09/2009, 10:08
Avatar de gabrican  
Fecha de Ingreso: junio-2008
Ubicación: Medellin
Mensajes: 89
Antigüedad: 16 años, 5 meses
Puntos: 4
De acuerdo Respuesta: Busqueda de datos dif mayus - minus

Cita:
Iniciado por matanga Ver Mensaje
Solo a partir de 10g.

Código:
oracle@10G> create table t1 (data varchar2(20));

Tabla creada.

oracle@10G> insert into t1 values ('Datos');

1 fila creada.

oracle@10G> insert into t1 values ('datos');

1 fila creada.

oracle@10G> select * from t1 where data = 'Datos';

DATA
--------------------
Datos

oracle@10G> alter session set NLS_SORT='BINARY_CI';

Sesión modificada.

oracle@10G> alter session set NLS_COMP='LINGUISTIC';

Sesión modificada.

oracle@10G> select * from t1 where data = 'Datos';

DATA
--------------------
Datos
datos
Saludos
Wow....
Gracias por el aporte.. excelente!!!
  #7 (permalink)  
Antiguo 23/09/2009, 15:13
Avatar de gabrican  
Fecha de Ingreso: junio-2008
Ubicación: Medellin
Mensajes: 89
Antigüedad: 16 años, 5 meses
Puntos: 4
Respuesta: Busqueda de datos dif mayus - minus

Cita:
Iniciado por matanga Ver Mensaje
Solo a partir de 10g.

Código:
oracle@10G> create table t1 (data varchar2(20));

Tabla creada.

oracle@10G> insert into t1 values ('Datos');

1 fila creada.

oracle@10G> insert into t1 values ('datos');

1 fila creada.

oracle@10G> select * from t1 where data = 'Datos';

DATA
--------------------
Datos

oracle@10G> alter session set NLS_SORT='BINARY_CI';

Sesión modificada.

oracle@10G> alter session set NLS_COMP='LINGUISTIC';

Sesión modificada.

oracle@10G> select * from t1 where data = 'Datos';

DATA
--------------------
Datos
datos
Saludos
Hey estuve probando y solo funciona para 1 vez--- como puedo hacer esto permanente????????????
  #8 (permalink)  
Antiguo 24/09/2009, 07:30
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 17 años, 5 meses
Puntos: 43
Respuesta: Busqueda de datos dif mayus - minus

Si esto lo vas a meter en un pl, hazlo mediante EXECUTE IMMEDIATE y si es para el dia a dia.. metelo en un .sql y que se ejecute cada vez que arrancas el sql plus.

Es que no das mucha info de como lo harás.
  #9 (permalink)  
Antiguo 24/09/2009, 10:21
Avatar de gabrican  
Fecha de Ingreso: junio-2008
Ubicación: Medellin
Mensajes: 89
Antigüedad: 16 años, 5 meses
Puntos: 4
Respuesta: Busqueda de datos dif mayus - minus

Pues es que la verdad es para un Sistema que estoy desarrollando, entonces necesito que esto sea siempre para no tener que manipular la BD siempre, es decir, que quede como default que las consultas se realicen siempre diferenciando mayus y minus....
  #10 (permalink)  
Antiguo 25/09/2009, 02:56
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 17 años, 5 meses
Puntos: 43
Respuesta: Busqueda de datos dif mayus - minus

SI lo necesitas para siempre, supongo que tendras que meterlo en el fichero INITORA.ORA.

A ver si el compi Matanga nos ilumina.
  #11 (permalink)  
Antiguo 25/09/2009, 04:07
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años
Puntos: 85
Respuesta: Busqueda de datos dif mayus - minus

Es un tema de diseño, si estás desarrollando una aplicación, debes establecer todos los parametros de conexión antes de empezar a trabajar con la base de datos, esto es un tema muy común, no solo es lo de case-sensitive, también estan los formatos de fechas, el idioma, la ordenación, etc.

Si configuras toda tu sesión antes de empezar a trabajar, haces una aplicación más portable e independiente de la instancia con la que trabajes.

Saludos
  #12 (permalink)  
Antiguo 25/09/2009, 07:32
Avatar de gabrican  
Fecha de Ingreso: junio-2008
Ubicación: Medellin
Mensajes: 89
Antigüedad: 16 años, 5 meses
Puntos: 4
Respuesta: Busqueda de datos dif mayus - minus

Mmmmm.... Aqui es donde aparece mi "novatada".... la verdad, mi aplicacion es desarrollada en Java, e intenté usar una clase que manejara los formatos del texto pero la verdad no funcionó muy bien...
No tengo acceso 100% a la BD porque esta hace parte directamente del área de servidores de la empresa y yo solo tengo acceso al manejo de tablas.
Lo que hiciste matanga para la búsqueda me interesó mucho porque es algo sencillo y aplicable pero como te dije... solo funciona para 1 vez y yo la verdad necesito que funcione disponibilidad 100%, ya solo me queda pegarme de su ayuda para ver con que solucion me pueden colaborar....
Alguna idea???
  #13 (permalink)  
Antiguo 26/09/2009, 05:03
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años
Puntos: 85
Respuesta: Busqueda de datos dif mayus - minus

No, me refiero a que cada vez que abres una conexión a la base de datos, desde el provider que utilices, supongo JDBC, ejecutes en primer lugar, todos los alter session que te hagan falta, y después, las consultas SQL.

Cita:
No tengo acceso 100% a la BD porque esta hace parte directamente del área de servidores de la empresa y yo solo tengo acceso al manejo de tablas.
Esto es justamente lo que comentaba, si configuras en tu aplicación todos los parametros de sesión antes de empezar a trabajar, tendrás menos dependencia de los parametros del init.ora.

Saludos
  #14 (permalink)  
Antiguo 30/09/2009, 13:45
Avatar de gabrican  
Fecha de Ingreso: junio-2008
Ubicación: Medellin
Mensajes: 89
Antigüedad: 16 años, 5 meses
Puntos: 4
Respuesta: Busqueda de datos dif mayus - minus

Cita:
Iniciado por matanga Ver Mensaje
No, me refiero a que cada vez que abres una conexión a la base de datos, desde el provider que utilices, supongo JDBC, ejecutes en primer lugar, todos los alter session que te hagan falta, y después, las consultas SQL.



Esto es justamente lo que comentaba, si configuras en tu aplicación todos los parametros de sesión antes de empezar a trabajar, tendrás menos dependencia de los parametros del init.ora.

Saludos
Tonces... de acuerdo a eso... si trabajo bajo un modelo VC.... Tendría que ejecutar estas sentencias cada vez que hago una consulta... es decir... yo tengo creado un archivo .properties... en donde se alojan las sentencias SQL y accedo a estas sentencias por medio de una clase DAO....
Entonces por cada consulta debería ejecutar primero ese ALTER SESSION ???
No hay una forma un poco mas práctica?
Pues lo digo porque si no tengo acceso a la BD, me tocaria crear en cada DAO que contenga metodos de consulta, una sentencia que ejecute este alter session... eso quiere decir que si hacen 1000 consultas al dia serían ejecutadas 1000 veces los ALTER:... uyyy
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 19:07.