MySQL non ha funzionalità integrate per fare ciò che stai chiedendo. Sarebbe possibile definendo alcune nuove funzioni, ma probabilmente è più semplice farlo in qualsiasi linguaggio di programmazione attraverso il quale si accede al database.
Per qualcosa di semplice come un indirizzo e-mail, tuttavia, non dovresti aver bisogno di usare espressioni regolari, puoi utilizzare SUBSTRING_INDEX()
funzione
, come:
SELECT
SUBSTRING_INDEX(email, '@', 1) AS Username,
SUBSTRING_INDEX(SUBSTR(email, LOCATE('@', email)), '.', 1) AS Domain,
SUBSTRING_INDEX(email, '.', -1) AS TLD
FROM users;
In parole, questo è:
- Nome utente =tutto prima della prima '@'
- Dominio =tutto ciò che è compreso tra il primo '@' e il primo '.'
- TLD =tutto dopo l'ultimo '.'