MySQL няма вградена функционалност, за да направи това, което искате. Би било възможно чрез дефиниране на някои нови функции, но вероятно е по-лесно да го направите на всеки език за програмиране, чрез който осъществявате достъп до базата данни.
За нещо толкова просто като имейл адрес обаче изобщо не трябва да използвате регулярни изрази, можете да използвате SUBSTRING_INDEX()
функция
, като:
SELECT
SUBSTRING_INDEX(email, '@', 1) AS Username,
SUBSTRING_INDEX(SUBSTR(email, LOCATE('@', email)), '.', 1) AS Domain,
SUBSTRING_INDEX(email, '.', -1) AS TLD
FROM users;
С думи това е:
- Потребителско име =всичко преди първото '@'
- Домейн =всичко между първия '@' и първия '.'
- TLD =всичко след последното „.“