Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ดึงโดเมนจากอีเมลใน MySQL

ใช้ SUBSTRING_INDEX(email, '@', -1) ดึงส่วนหลัง @ (ตัวสุดท้าย)

สร้างตารางตัวอย่าง

mysql> CREATE TABLE DemoTable (
    -> UserMailId VARCHAR(100)
    -> );

เพิ่มข้อมูลตัวอย่าง

mysql> INSERT INTO DemoTable VALUES('John@gmail.com');
mysql> INSERT INTO DemoTable VALUES('Carol94844@yahoo.com');

แสดงข้อมูล

mysql> SELECT * FROM DemoTable;

ผลลัพธ์:

+----------------------+
| UserMailId           |
+----------------------+
| John@gmail.com       |
| Carol94844@yahoo.com |
+----------------------+

คำสั่งดึงโดเมน (ส่วนหลัง @)

mysql> SELECT SUBSTRING_INDEX(UserMailId, '@', -1) AS RightSideValue FROM DemoTable;

ผลลัพธ์:

+----------------+
| RightSideValue |
+----------------+
| gmail.com      |
| yahoo.com      |
+----------------+

คำอธิบาย: SUBSTRING_INDEX(str, delim, count) | count = -1 หมายถึงนับจากขวาสุด (หลัง delimiter ตัวสุดท้าย) | หากอีเมลมี @ หลายตัว จะเอาส่วนหลัง @ ตัวสุดท้าย