Problema:
Desideri selezionare le righe che contengono una stringa che inizia con uno di un determinato gruppo di caratteri.
Esempio:
Il nostro database ha una tabella chiamata gamer con i dati nel id e user colonne.
| id | utente |
|---|---|
| 1 | superuomo |
| 2 | magnus |
| 3 | lucy |
| 4 | stan |
| 5 | al |
Troviamo tutti i dati per i giocatori i cui nomi utente iniziano con "a", "b", "r" o "s".
Soluzione:
SELECT id, user FROM gamer WHERE user LIKE '[abrs]%';
Ecco il risultato:
| id | utente |
|---|---|
| 1 | superuomo |
| 4 | stan |
| 5 | al |
Discussione:
Se si desidera filtrare le righe contenenti una stringa che corrisponde a un determinato modello, utilizzare la clausola WHERE con l'operatore LIKE. La clausola WHERE viene utilizzata per filtrare i record che soddisfano le condizioni indicate. Dopo WHERE, aggiungi un nome di colonna o un'espressione, seguito dall'operatore (ad es. LIKE) e dai valori di confronto. Dopo LIKE, inserisci il pattern da abbinare (nel nostro esempio, WHERE user LIKE '[abrs]%' ). Il modello può contenere caratteri e caratteri jolly.
Uno dei caratteri jolly di T-SQL è '%', che rappresenta zero o più caratteri sconosciuti. Il carattere jolly di sottolineatura ( _ ) indica un carattere. Le parentesi ( [] ) racchiudono il modello da abbinare; questo modello può contenere una o più lettere o numeri. La stringa di destinazione può corrispondere a uno o più caratteri tra parentesi.
Nel nostro esempio, il modello '[abrs]%' denota che il nome utente deve iniziare con a, b, r o s. Dopo il carattere iniziale, possono esserci zero o più caratteri perché abbiamo utilizzato il carattere jolly %.
Gli utenti con id=2 e id=3 non vengono visualizzati; i loro nomi iniziano con 'l' e 'm' e quindi non corrispondono allo schema che abbiamo selezionato.