Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Trích xuất tên miền (domain) từ email trong MySQL với SUBSTRING_INDEX

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)