Ir al contenido principal

El Operador LIKE ok


Revisando un poco sobre los temas anteriores, el operador BETWEEN provee una forma concisa  para especificar condiciones basadas en rangos y el operador IN provee un método óptimo para probar si un elemento es miembro de un conjunto de valores literales.
Ahora toca tratar al operador LIKE que está diseñado especialmente para datos carácter y provee un mecanismo para buscar letras o palabras.
El operador LIKE es acompañado por dos caracteres comodín, el carácter porcentaje (%) y el carácter guion bajo (_). El carácter porcentaje es utilizado para especificar  cero o más caracteres comodín. Mientras el carácter guion bajo es utilizado para especificar un carácter comodín. Un comodín puede representar cualquier carácter.

SELECT department_name FROM   departments WHERE department_name LIKE '%';
SELECT department_name FROM   departments WHERE department_name LIKE '%ing';
SELECT * FROM employees WHERE first_name LIKE '%ana%';
SELECT * FROM employees WHERE first_name LIKE '%eve%';
SELECT * FROM employees WHERE first_name LIKE '_____';
SELECT * FROM employees WHERE first_name LIKE '__a__';
SELECT * FROM employees WHERE first_name LIKE 'A_a%';

El literal que comparado contra la columna debe ir encerrado en comillas simples. El símbolo porcentaje tiene un significado especial en el contexto del operador LIKE. El símbolo porcentaje sustituye cero o más caracteres. El carácter comodín porcentaje o guion bajo puede aparecer al inicio, en medio o al final. Pueden aparecer también solo.

where first_name like ‘%’

La condición anterior debe de traer los registros que en la columna first_name tengan cero o mas caracteres pero no que sea Null.
Los símbolos comodines no son obligatorios en una condición LIKE. Esto sería a realizar una igualdad con un operador comparativo.
El símbolo guión bajo sustituye un carácter que puede ser cualquier carácter.

El operador LIKE también puede ser realizado con una lista interminable de condiciones OR definiendo cada combinación, esto es impráctico.

Oracle provee un mecanismo para deshabilitar el significado del símbolo porcentaje y el símbolo guion bajo esto para cuando buscamos información que contiene el símbolo porcentaje o el símbolo guion bajo. Esto es mediante la palabra ESCAPE es cual deshabilita el significado especial de los comodines. Tradicionalmente el símbolo para escapar es la diagonal invertida pero no obligatoriamente es necesario se puede utilizar otro.

Ejemplo:

SELECT * FROM employees WHERE job_id LIKE 'ST_%';
SELECT * FROM employees WHERE job_id LIKE 'ST\_%' ESCAPE '\';
SELECT * FROM employees WHERE job_id LIKE 'ST$_%' ESCAPE '$';
SELECT * FROM employees WHERE job_id LIKE 'ST\%%' ESCAPE '\';

Comentarios