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