Funzioni per agire sulle stringhe

MySQL
di Risorse.net

Le funzioni per agire sulle stringhe servono per modificare il testo da inviare a MySQL che poi elaborerą come indicato dalla query.
Hanno il grande vantaggio delle prestazioni: č infatti un'ottima scelta per migliorare la velocitą delle applicazioni Web che si appoggiano a MySQL.

LOCATE
La funzione LOCATE consente di ricercare una stringa all'interno di un'altra, indicandogli da che posizione partire. Ad esempio, ammettiamo di dover cercare la parola "guida", all'interno della stringa "questa č proprio una bella guida a MySQL". Come facciamo?

SELECT LOCATE("guida","questa č proprio una bella guida a MySQL",1);

La funzione LOCATE ammette quindi tre valori: la stringa da cercare, la stringa nella quale cercare e l'indice di posizione dal quale iniziare la ricerca. Nel nostro esempio, l'1 fa cominciare la ricerca dal primo carattere. Il valore del punto dal quale iniziare la ricerca, se omesso sarą inteso uguale a 1.
Tornando all'esempio, MySQL restituirebbe 28. Se trovasse due occorrenze, restituirebbe solo la posizione della prima.

LTRIM
Come per VB, questa funzione toglie gli spazi iniziali dal testo. Ad esempio:

SELECT LTRIM("    valore");

Restituirą: "valore"

LTRIM, in assenza di spazi bianchi iniziali, non toglie altri caratteri. Ad esempio:

SELECT LTRIM("valore");

Restituirą comunque "valore"

RTRIM
Simile alla precedente, con la differenza di eliminare gli spazi bianchi alla fine della stringa. Ad esempio:

SELECT RTRIM("valore    ");

Restituirą "valore"

TRIM
Questa funzione riunisce le capacitą delle due viste precendentemente. E' infatti in grado di rimuovere gli spazi sia dalla fine che dall'inizio di una stringa. Ad esempio:

SELECT TRIM("    valore    ");

Restituirą "valore"

TRIM č anche in grado di ruomevere gruppi di caratteri da una stringa. Per fare questo, utilizza tre termini: Ad esempio:

SELECT * FROM nomeTabella WHERE nomeCampo = TRIM(TRAILING 'NN' FROM 'NNvalore'); SELECT * FROM nomeTabella WHERE nomeCampo = TRIM(LEADING 'NN' FROM 'valoreNN'); SELECT * FROM nomeTabella WHERE nomeCampo = TRIM(BOTH 'NN' FROM 'NNvaloreNN');

MID
La funzione MID consente di levare caratteri all'inizio e alla fine di una stringa. Il numero di caratteri, sono indicati nel secondo e terzo parametro della funzione (il primo č la stringa). A tal proposito, č bene sapere che MySQL inizia a contare da 1 e che il primo carattere viene identificato dal numero 2.
Ad esempio:

SELECT MID("questa č una guida mysql gratuita", 14, 11);

Restituirą: "guida mysql"

REPEAT
La funzione REPEAT ripete una stringa tante volte quanto specificato. Ad esempio:

SELECT REPEAT("guida mysql", 4);

Restituirą: "guida mysqlguida mysqlguida mysqlguida mysql"

REPLACE
Questa funzione, data una stringa, sostiuisce i caratteri specificati con altri. Ad esempio:

SELECT REPLACE("pippo","p","b");

Restituirą: "bibbo"
Attenzione alla differenza che MySQL fa tra caratteri minuscoli e maiuscoli (č case sensitive).

REVERSE
La funzione REVERSE ribalta una stringa, scrivendola quindi al contrario. Ad esempio:

SELECT REVERSE("admin");

Restituirą: "nimda"

SPACE
Questa funzione restituisce una stringa di spazi, tanti quanti specificati all'interno delle parentesi. Ad esempio: SPACE(5) restituirą 5 spazi.

SUBSTRING
Partendo da una stringa, SUBSTRING restituisce un'altra stringa togliendo tanti caratteri quanto indicato nella funzione (partendo da sinistra).
Ad esempio:

SELECT SUBSTRING("guida a mysql", 9);

Restituirą: "mysql"

Si ricorda che MySQL conta partendo da 1, quindi per levare anche un solo carattere, bisognerą specificare 2. Ad esempio:

SELECT SUBSTRING("guida a mysql", 2);

Restituirą: "uida a mysql"

SUBSTRING_INDEX
Questa č una variante della funzione SUBSTRING appena vista. Questa variante, consente di eliminare del testo partendo da un carattere assegnato e iniziando a contare da sinistra. Ad esempio:

SELECT SUBSTRING_INDEX("www.risorse.net", ".", 2);

Restituirą: "www.risorse"

Questa funzione ha anche l'alternativa dei numeri negativi. In questo caso, il conteggio inizia da destra:

SELECT SUBSTRING_INDEX("www.risorse.net", ".", -2);

Restituirą: "risorse.net"

UCASE e LCASE
Come per VB, le funzioni UCASE e LCASE trasformano il testo rispettivamente in maiuscolo e minuscolo. Ad esempio:

SELECT UCASE("mysql");

Restituirą "MYSQL"

Mentre: SELECT LCASE("MySQL");

Restituirą "mysql"

Ci sono poi molte altre funzioni, che abbiamo preso direttamente dal manuale di MySQL.

© Risorse.net (www.risorse.net)
pagina in versione stampabile:
http://www.risorse.net /mysql/funzioni_stringhe.asp?print=ok