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