Hàm SUBSTRING_INDEX(str, delim, count) với count = -1 lấy phần sau dấu phân cách cuối cùng.
Tạo bảng email
mysql> CREATE TABLE DemoTable (UserMailId VARCHAR(100)); Query OK, 0 rows affected (0.68 sec)
mysql> INSERT INTO DemoTable VALUES('John@gmail.com'), ('Carol94844@yahoo.com');
Query OK, 2 rows affected (0.20 sec)
Truy vấn lấy domain (phần sau @)
mysql> SELECT SUBSTRING_INDEX(UserMailId, '@', -1) AS RightSideValue FROM DemoTable;
Kết quả:
+----------------+ | RightSideValue | +----------------+ | gmail.com | | yahoo.com | +----------------+ 2 rows in set (0.00 sec)
Giải thích: SUBSTRING_INDEX(str, '@', -1) trả về chuỗi con sau lần xuất hiện cuối cùng của @.
Lấy phần user (trước @): SUBSTRING_INDEX(UserMailId, '@', 1)