MySQL không có chức năng tích hợp để làm những gì bạn yêu cầu. Có thể thực hiện được bằng cách xác định một số hàm mới, nhưng có lẽ dễ dàng hơn nếu bạn thực hiện nó bằng bất kỳ ngôn ngữ lập trình nào mà bạn đang truy cập cơ sở dữ liệu.
Tuy nhiên, đối với những thứ đơn giản như địa chỉ email, bạn không cần phải sử dụng biểu thức chính quy, bạn có thể sử dụng SUBSTRING_INDEX()
chức năng
, như:
SELECT
SUBSTRING_INDEX(email, '@', 1) AS Username,
SUBSTRING_INDEX(SUBSTR(email, LOCATE('@', email)), '.', 1) AS Domain,
SUBSTRING_INDEX(email, '.', -1) AS TLD
FROM users;
Nói cách khác, đó là:
- Tên người dùng =mọi thứ trước '@' đầu tiên
- Miền =mọi thứ nằm giữa '@' đầu tiên và 'đầu tiên'. '
- TLD =mọi thứ sau dấu '.'