MySQL har ikke indbygget funktionalitet til at gøre det, du beder om. Det ville være muligt ved at definere nogle nye funktioner, men det er nok nemmere bare at gøre det på det programmeringssprog, du tilgår databasen gennem.
For noget så simpelt som en e-mailadresse skulle du dog slet ikke behøve at bruge regulære udtryk, du kan bruge SUBSTRING_INDEX()
funktion
, som:
SELECT
SUBSTRING_INDEX(email, '@', 1) AS Username,
SUBSTRING_INDEX(SUBSTR(email, LOCATE('@', email)), '.', 1) AS Domain,
SUBSTRING_INDEX(email, '.', -1) AS TLD
FROM users;
Med ord, det er:
- Brugernavn =alt før det første '@'
- Domæne =alt mellem det første '@' og det første '.'
- TLD =alt efter den sidste '.'