MySQL heeft geen ingebouwde functionaliteit om te doen waar je om vraagt. Het zou mogelijk zijn door enkele nieuwe functies te definiëren, maar het is waarschijnlijk gemakkelijker om het gewoon te doen in de programmeertaal waarmee u de database benadert.
Voor zoiets eenvoudigs als een e-mailadres zou je echter helemaal geen reguliere expressies moeten gebruiken, je kunt de SUBSTRING_INDEX()
functie
, als:
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 woorden, dat is:
- Gebruikersnaam =alles voor de eerste '@'
- Domein =alles tussen de eerste '@' en de eerste '.'
- TLD =alles na de laatste '.'