Consultas en Oracle con filtros expuestos - No funcionan las tildes o acentos

Hola,

AL hacer una vista de Drupal 7 con filtros expuestos,



Las conexiones con bases de datos: Mysql, Postgress aceptan consultas para encontrar palabras con o sin acentos y tildes, minúsculas o mayúsculas,  pero, Oracle, no lo hace. Necesita una conversión a partir de oracle 10g

De los parámetros:

NLS_SORT = spanish => NLS_SORT =binary_ai
y del parámetro NLS_COMP = BINARY => NLS_COMP =linguistic

De esta manera, Oracle ya identificaría el orden alfabético con y sin tildes, y no será sensible a acentos y munúsculas o mayúsculas, es por eso, que hay que hacer tal conversión o alteración en la base de datos.
Se hizo probando una conexión Mysql con la misma consulta y esta base de datos sí lo hace correctamente, es decir si buscar Álvarez o Alvarez para Mysql es lo mismo, mientras que Oracle No.
Por supuesto, se debe tener acceso a la base de datos y realizar ciertos cambios, en estos momentos, estamos esperando que IT nos autorice el acceso a la base de datos Oracle y poder hacer ejecutar ciertas sentencias sql, para luego realizar pruebas de consultas con y sin tildes.

Si queremos que al hacer la búsqueda NO distinga entre mayúsculas y minúsculas, ni acentos; asignaremos el valor LINGUISTIC a NLS_COMP (además de asegurarnos de que NLS_SORT=BINARY_AI):
 
SQL> alter session set nls_sort=binary_ai; //Establecer orden
SQL> alter session set nls_comp=linguistic; // tildes

SQL> select c1 from prueba_acentos where c1 like 'E%';

C1                   
-------------------- 
énero                
Enero                
ENERO                
Énero                
enero  

 

Comentarios

Entradas populares