SQLite - clausola LIKE

SQLite LIKEL'operatore viene utilizzato per confrontare i valori di testo con un modello utilizzando i caratteri jolly. Se l'espressione di ricerca può essere abbinata all'espressione modello, l'operatore LIKE restituirà true, che è 1. Ci sono due caratteri jolly usati insieme all'operatore LIKE -

  • Il segno di percentuale (%)
  • Il carattere di sottolineatura (_)

Il segno di percentuale rappresenta zero, uno o più numeri o caratteri. Il trattino basso rappresenta un singolo numero o carattere. Questi simboli possono essere utilizzati in combinazioni.

Sintassi

Di seguito è riportata la sintassi di base di% e _.

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_'

Puoi combinare Nnumero di condizioni che utilizzano operatori AND o OR. Qui, XXXX potrebbe essere qualsiasi valore numerico o stringa.

Esempio

La seguente tabella elenca una serie di esempi che mostrano la parte WHERE con clausole LIKE diverse con operatori '%' e '_'.

Sr.No. Dichiarazione e descrizione
1

WHERE SALARY LIKE '200%'

Trova tutti i valori che iniziano con 200

2

WHERE SALARY LIKE '%200%'

Trova tutti i valori che hanno 200 in qualsiasi posizione

3

WHERE SALARY LIKE '_00%'

Trova tutti i valori che hanno 00 nella seconda e terza posizione

4

WHERE SALARY LIKE '2_%_%'

Trova tutti i valori che iniziano con 2 e sono lunghi almeno 3 caratteri

5

WHERE SALARY LIKE '%2'

Trova tutti i valori che terminano con 2

6

WHERE SALARY LIKE '_2%3'

Trova tutti i valori che hanno un 2 nella seconda posizione e termina con un 3

7

WHERE SALARY LIKE '2___3'

Trova tutti i valori in un numero di cinque cifre che inizia con 2 e finisce con 3

Facciamo un esempio reale, consideriamo la tabella AZIENDA con i seguenti record.

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

Di seguito è riportato un esempio, che visualizzerà tutti i record dalla tabella AZIENDA dove AGE inizia con 2.

sqlite> SELECT * FROM COMPANY WHERE AGE LIKE '2%';

Questo produrrà il seguente risultato.

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

Di seguito è riportato un esempio, che visualizzerà tutti i record dalla tabella AZIENDA dove INDIRIZZO avrà un trattino (-) all'interno del testo.

sqlite> SELECT * FROM COMPANY WHERE ADDRESS  LIKE '%-%';

Questo produrrà il seguente risultato.

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
4           Mark        25          Rich-Mond   65000.0
6           Kim         22          South-Hall  45000.0