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

Come funziona la funzione SUBSTR() in MySQL

In MySQL, il SUBSTR() la funzione restituisce una sottostringa a partire dalla posizione specificata.

Entrambi SUBSTR() e MID() sono sinonimi di SUBSTRING() .

Sintassi

La sintassi di base è questa:

SUBSTR(str,pos,len)

Qui, str è la stringa, pos è la posizione da cui iniziare la sottostringa e len è un argomento facoltativo che determina il numero di caratteri da restituire da quella posizione iniziale.

Esistono diverse varianti su come utilizzare questa funzione, quindi l'intera gamma di sintassi è simile a questa:

SUBSTR(str,pos)
SUBSTR(str FROM pos)
SUBSTR(str,pos,len)
SUBSTR(str FROM pos FOR len)

Questi sono dimostrati nei seguenti esempi.

Esempio 1 – Utilizzo di base

Ecco un esempio di SUBSTR(str,pos) sintassi:

SELECT SUBSTR('I play the drums', 3) Result;

Risultato:

+----------------+
| Result         |
+----------------+
| play the drums |
+----------------+

In questo esempio, prendo una sottostringa dalla stringa, a partire dalla posizione 3.

Esempio 2:utilizzo della clausola FROM

Ecco come fare la stessa cosa, ma questa volta usando il SUBSTR(str FROM pos) sintassi:

SELECT SUBSTR('I play the drums' FROM 3) Result;

Risultato:

+----------------+
| Result         |
+----------------+
| play the drums |
+----------------+

Quindi otteniamo lo stesso risultato.

In questo caso, FROM è SQL standard. Nota che questa sintassi non utilizza le virgole.

Esempio 3:specificare una lunghezza

In questo esempio, utilizzo SUBSTR(str,pos,len) sintassi:

SELECT SUBSTR('I play the drums', 3, 4) Result;

Risultato:

+--------+
| Result |
+--------+
| play   |
+--------+

Qui specifico che la sottostringa restituita dovrebbe essere lunga 4 caratteri.

Esempio 4 – Specificare una lunghezza (usando la clausola FOR)

In questo esempio, utilizzo SUBSTR(str FROM pos FOR len) sintassi:

SELECT SUBSTR('I play the drums' FROM 3 FOR 5) Result;

Risultato:

+--------+
| Result |
+--------+
| play   |
+--------+

Quindi questa volta abbiamo utilizzato l'SQL standard per ottenere lo stesso risultato