SQLite - Cláusula LIKE
SQLite LIKEEl operador se utiliza para hacer coincidir los valores de texto con un patrón utilizando comodines. Si la expresión de búsqueda puede coincidir con la expresión de patrón, el operador LIKE devolverá verdadero, que es 1. Hay dos comodines que se utilizan junto con el operador LIKE:
- El signo de porcentaje (%)
- El subrayado (_)
El signo de porcentaje representa cero, uno o varios números o caracteres. El guión bajo representa un solo número o carácter. Estos símbolos se pueden utilizar en combinaciones.
Sintaxis
A continuación se muestra la sintaxis básica de% y _.
SELECT FROM table_name
WHERE column LIKE 'XXXX%'
or
SELECT FROM table_name
WHERE column LIKE '%XXXX%'
or
SELECT FROM table_name
WHERE column LIKE 'XXXX_'
or
SELECT FROM table_name
WHERE column LIKE '_XXXX'
or
SELECT FROM table_name
WHERE column LIKE '_XXXX_'
Puedes combinar Nnúmero de condiciones que utilizan operadores AND u OR. Aquí, XXXX podría ser cualquier valor numérico o de cadena.
Ejemplo
La siguiente tabla enumera una serie de ejemplos que muestran la parte DONDE que tiene una cláusula LIKE diferente con los operadores '%' y '_'.
No Señor. | Declaración y descripción |
---|---|
1 | WHERE SALARY LIKE '200%' Encuentra cualquier valor que comience con 200 |
2 | WHERE SALARY LIKE '%200%' Encuentra cualquier valor que tenga 200 en cualquier posición |
3 | WHERE SALARY LIKE '_00%' Encuentra cualquier valor que tenga 00 en la segunda y tercera posiciones |
4 | WHERE SALARY LIKE '2_%_%' Encuentra cualquier valor que comience con 2 y tenga al menos 3 caracteres de longitud |
5 | WHERE SALARY LIKE '%2' Encuentra cualquier valor que termine en 2 |
6 | WHERE SALARY LIKE '_2%3' Encuentra cualquier valor que tenga un 2 en la segunda posición y termine con un 3 |
7 | WHERE SALARY LIKE '2___3' Encuentra cualquier valor en un número de cinco dígitos que comienza con 2 y termina con 3 |
Tomemos un ejemplo real, considere la tabla EMPRESA con los siguientes registros.
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0
A continuación se muestra un ejemplo, que mostrará todos los registros de la tabla EMPRESA donde EDAD comienza con 2.
sqlite> SELECT * FROM COMPANY WHERE AGE LIKE '2%';
Esto producirá el siguiente resultado.
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0
A continuación se muestra un ejemplo, que mostrará todos los registros de la tabla EMPRESA donde DIRECCIÓN tendrá un guión (-) dentro del texto.
sqlite> SELECT * FROM COMPANY WHERE ADDRESS LIKE '%-%';
Esto producirá el siguiente resultado.
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
4 Mark 25 Rich-Mond 65000.0
6 Kim 22 South-Hall 45000.0