Hola a todos, hoy os voy a explicar como funciona el operador LIKE en Oracle.
En Oracle y en la mayoría de SGBD, tenemos un operador llamado LIKE que dada una cadena podemos indicar si contiene una cadena en concreto que nosotros le indiquemos.
Con el LIKE, podemos usar dos caracteres especiales:
- %: Significa 0 a varios caracteres.
- _: Significa 1 carácter.
Veamos un pequeño ejemplo con los siguientes datos:
Si queremos mostrar aquellos registros que contienen la cadena ‘Java’, lo haremos así:
SELECT titulo FROM cursos WHERE titulo LIKE '%Java%'
Este sería el resultado:
Cuidado, el operador LIKE es sensible a mayúsculas y minúsculas (case sensitive).
SELECT titulo FROM cursos WHERE titulo LIKE '%java%'
Este es el resultado:
Lo mejor es usar la función lower o upper para igualar y no haya problemas, te dejo un manual para recordarlo:
Funciones lower y upper en Oracle
Un ejemplo aplicado sería así:
SELECT titulo FROM cursos WHERE upper(titulo) LIKE '%JAVA%'
El resultado seria el mismo que en el primer caso.
También podemos indicar si ‘empieza por x’ colocando solo un %:
SELECT titulo FROM cursos WHERE upper(titulo) LIKE 'CURSO%'
Este es el resultado:
Podemos hacer lo mismo al revés, es decir, filtrar aquello que ‘acaben en x’:
SELECT titulo FROM cursos WHERE upper(titulo) LIKE '%ANGULAR'
Este es el resultado:
Con el carácter _, también nos puede ser de ayuda, por ejemplo, aquellos registros donde su tercer carácter sea una ‘r’:
SELECT titulo FROM cursos WHERE upper(titulo) LIKE '__R%'
¿Quieres saber mas de SQL en Oracle? Tengo un curso en udemy con muchos ejercicios prácticos.
Espero que os sea de ayuda, si tenéis dudas, preguntad. Estamos para ayudarte.
Deja una respuesta