ใช้ฟังก์ชัน SUBSTRING_INDEX() เพื่อดึงส่วนก่อนอักขระ @ ในอีเมล
ไวยากรณ์
SELECT SUBSTRING_INDEX(yourColumnName, '@', 1) FROM yourTableName;
พารามิเตอร์: SUBSTRING_INDEX(str, delim, count)
count > 0: คืนค่าส่วนซ้ายสุด จำนวน count ส่วน (นับจากซ้าย)count < 0: คืนค่าส่วนขวาสุด จำนวน |count| ส่วน (นับจากขวา)
ตัวอย่างการใช้งาน
1. สร้างตารางและข้อมูลอีเมล
mysql> create table DemoTable (EmployeeMailId varchar(100));
mysql> insert into DemoTable values('Larry123@gmail.com'), ('987Sam@hotmail.com'), ('123456David_98@gmail.com');
2. ดึงส่วนก่อน @
mysql> select substring_index(EmployeeMailId, '@', 1) from DemoTable;
ผลลัพธ์
+---------------------------------------+ | substring_index(EmployeeMailId, '@', 1) | +---------------------------------------+ | Larry123 | | 987Sam | | 123456David_98 | +---------------------------------------+
การประยุกต์ใช้เพิ่มเติม
-- ดึงโดเมน (ส่วนหลัง @) SELECT SUBSTRING_INDEX(EmployeeMailId, '@', -1) FROM DemoTable; -- นับจำนวน @ (ตรวจสอบรูปแบบอีเมล) SELECT (LENGTH(EmployeeMailId) - LENGTH(REPLACE(EmployeeMailId, '@', ''))) AS at_count FROM DemoTable;