Database
 sql >> Database >  >> RDS >> Database

Come sostituire parte di una stringa in T-SQL

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.