back to top

Funzioni MySQL per le stringhe: TRIM, REPLACE, SUBSTRING, MID, CONCAT, UCASE e LCASE

MySQL è corredato nativamente da un largo numero di funzioni atte a svolgere le più disparate funzioni. A partire da questa lezione cercheremo di affrontare, anche se in modo succinto, le principali di queste al fine di fornire al lettore gli strumenti essenziali per lavorare col DBMS.

Da un punto di vista espositivo suddivideremo le funzioni di MySQL oggetto della nostra attenzione in quattro categorie:

  • Funzioni per le stringhe
  • Funzioni matematiche e di aggregazione
  • Funzioni per le date
  • Funzioni condizionali

Ciascuna lezione sarà corredata da una parte teorica e da una serie di esempi pratici per facilitare la comprenisone dei concetti illustrati da parte del lettore.

All’interno di questa lezione ci occuperemo delle funzioni per la gestione delle stringhe.

Attraverso questa tipologia di funzioni è possibile manipolare le stringhe all’interno delle query. E’ evidente che il loro principale ambito di applicazione saranno i campi che possono contenere valori testuali (CHAR, VARCHAR, TEXT, BLOB, ENUM e SET).

Vediamo di seguito alcune delle funzioni più interessanti di questa famiglia.

TRIM, LTRIM e RTRIM

Queste tre funzioni servono ad eliminare gli spazi vuoti lasciati all’inizio e/o alla fine di una stringa. Più precisamente la funzione LTRIM rimuoverà gli spazi prima del testo, RTRIM quelli dopo il testo e TRIM entrambi.

SELECT TRIM(testo) FROM articoli WHERE id = 1;

Supponendo che il contenuto originale del campo sia "   bla bla bla   " otterremo "bla bla bla".

REPLACE

La funzione REPLACE consente di effettuare delle sostituzioni all’interno di una stringa. Ad esempio:

SELECT REPLACE(nome,'o','a') FROM amici WHERE nome = 'Mario';

La query nel nostro esempio restituirà "Maria" in quanto lo "o" finale è stata sostituita con la "a".

SUBSTRING e MID

Queste due funzioni consentono di di "tagliare" delle porzioni di una stringa. Con SUBSTRING la stringa viene mostrata a partire dal carattere specificato (compreso). Ad esempio:

SELECT SUBSTRING(nome,3) FROM amici WHERE id = 1;

Supponendo che il valore originale del campo "nome" per l’id 1 sia "Mario" otterremo in risposta alla nostra query il valore "rio".

La funzione MID, invece, ci consente di estrarre la porzione centrale di una stringa specificando (oltre alla stringa su cui operare, ovviamente) il carattere di partenza ed il numero di caratteri da includere:

SELECT MID(nome,2,3) FROM amici WHERE id = 1;

la nostra query restituirà: "ari".

CONCAT

La funzione CONCAT è utilizzata per concatenare due o più stringhe. Ad esempio:

SELECT CONCAT(nome,cognome) FROM amci WHERE id = 1;

Restituirà: "MarioRossi".

Per ottenere un output più "aggrazziato" avremmo potuto utilizzare:

SELECT CONCAT(nome,' ',cognome) FROM amci WHERE id = 1;

la quale restituirà: "Mario Rossi".

UCASE e LCASE

L funzioni UCASE e LCASE di MySQL trasformano il testo rispettivamente in maiuscolo e minuscolo. Ad esempio supponiamo di vole estrarre il nome del record con id 1 (che, come già visto in precedenti esempi, corrisponde a "Mario"):

SELECT UCASE(nome) FROM amici WHERE id = 1;

Restituirà "MARIO", mentre:

SELECT LCASE(nome) FROM amici WHERE id = 1;

Restituirà "mario".

Per una visione più completa e dettagliata delle funzioni per la manipolazione delle stringhe rimando lla documentazione ufficiale di MySQL.

Pubblicitร 
Massimiliano Bossi
Massimiliano Bossi
Stregato dalla rete sin dai tempi delle BBS e dei modem a 2.400 baud, ho avuto la fortuna di poter trasformare la mia passione in un lavoro (nonostante una Laurea in Giurisprudenza). Adoro scrivere codice e mi occupo quotidianamente di comunicazione, design e nuovi media digitali. Orgogliosamente "nerd" sono il fondatore di MRW.it (per il quale ho scritto centinaia di articoli) e di una nota Web-Agency (dove seguo in prima persona progetti digitali per numerosi clienti sia in Italia che all'estero).

In questa guida...