una texto separar por numeros numero izquierda extraer especificos espacios digitos derecha delimitada contar comas caracteres caracter cadena buscar sql oracle

texto - separar cadena delimitada por comas en sql server



¿Cómo comparar cadenas en sql ignorando el caso? (6)

¿Cómo escribo una consulta en Oracle ignorando el caso de las cadenas que se comparan? Por ejemplo, "ángel", "ángel", "ángel", "ángel", "ángel" serían todos iguales en comparación.


Más detalles sobre la respuesta del Sr. Dredel y el comentario de Tuinstoel. Los datos en la columna se almacenarán en su caso específico, pero puede cambiar la sensibilidad de mayúsculas y minúsculas de su sesión para hacer coincidir.

Puede cambiar la sesión o la base de datos para usar búsquedas lingüísticas o no sensibles a mayúsculas y minúsculas. También puede configurar índices para usar órdenes de clasificación particulares.

p.ej

ALTER SESSION SET NLS_SORT=BINARY_CI;

Una vez que empiezas a ingresar en idiomas que no sean inglés, con acentos, etc., hay soporte adicional para los insensibles al acento. Algunas de las capacidades varían según la versión, así que consulte el documento Globablization para su versión particular de Oracle. La última (11g) está here


No recuerdo la sintaxis exacta, pero puede configurar la columna de la tabla para que no distinga entre mayúsculas y minúsculas. Pero ten cuidado porque entonces no podrás emparejar según el caso y si QUIERES que ''cool'' no coincida con ''CoOl'' ya no será posible.


Puede usar la palabra clave UPPER :

SELECT * FROM Customers WHERE UPPER(LastName) = UPPER(''AnGel'')


Puedes usar:

select * from your_table where upper(your_column) like ''%ANGEL%''

De lo contrario, puede usar:

select * from your_table where upper(your_column) = ''ANGEL''

Lo cual será más eficiente si está buscando una coincidencia sin caracteres adicionales antes o después del campo your_column como sugirió Gary Ray en sus comentarios.


Si está haciendo coincidir el valor completo del uso del campo

WHERE UPPER(fieldName) = ''ANGEL''

EDITAR: De tu comentario que quieres usar:

SELECT RPAD(a.name, 10,''='') "Nombre del Cliente" , RPAD(b.name, 12,''*'') "Nombre del Consumidor" FROM s_customer a, s_region b WHERE a.region_id = b.id AND UPPER(a.name) LIKE ''%SPORT%''


antes de comparar las dos o más cuerdas, primero ejecuta los siguientes comandos

alter session set NLS_COMP=LINGUISTIC; alter session set NLS_SORT=BINARY_CI;

después de esas dos sentencias ejecutadas, entonces puedes comparar las cadenas y habrá mayúsculas y minúsculas. Por ejemplo, tienes dos cadenas s1 = ''Apple'' y s2 = ''apple'', si quieres comparar las dos cadenas antes de ejecutar las declaraciones anteriores, entonces esas dos cadenas se tratarán como dos cadenas diferentes pero cuando se comparan las cadenas después de la ejecución de las dos instrucciones de modificación, entonces esas dos cadenas s1 y s2 se tratarán como la misma cadena

razones para usar esas dos declaraciones

Necesitamos configurar NLS_COMP = LINGUISTIC y NLS_SORT = BINARY_CI para usar la insensibilidad de mayúsculas y minúsculas 10gR2. Dado que son modificables por sesión, no es tan simple como configurarlos en los parámetros de inicialización. Podemos configurarlos en los parámetros de inicialización, pero solo afectan al servidor y no al lado del cliente.