MySQL-এ ইমেইল অ্যাড্রেস থেকে ডোমেইন নাম (যেমন: gmail, yahoo, facebook) বের করতে SUBSTRING_INDEX() ফাংশন ব্যবহার করা হয়।
টেবিল তৈরি এবং ডেটা ইনসার্ট
mysql> CREATE TABLE DemoTable (
-> UserId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> UserMailId VARCHAR(200)
-> );
mysql> INSERT INTO DemoTable(UserMailId) VALUES('John9989@facebook.com');
mysql> INSERT INTO DemoTable(UserMailId) VALUES('983773CS@yahoo.com');
mysql> INSERT INTO DemoTable(UserMailId) VALUES('Chris95@gmail.com');
সব রেকর্ড দেখুন
mysql> SELECT * FROM DemoTable;
+--------+-----------------------+
| UserId | UserMailId |
+--------+-----------------------+
| 1 | John9989@facebook.com |
| 2 | 983773CS@yahoo.com |
| 3 | Chris95@gmail.com |
+--------+-----------------------+
ডোমেইন নাম বের করার কোয়েরি
SUBSTRING_INDEX() দুবার ব্যবহার করে '@' এর পরের অংশ এবং '.' এর আগের অংশ বের করা:
mysql> SELECT UserId, UserMailId,
-> SUBSTRING_INDEX(SUBSTRING_INDEX(UserMailId, '@', -1), '.', 1) AS `Domain_Name`
-> FROM DemoTable;
ফলাফল
+--------+-----------------------+-------------+
| UserId | UserMailId | Domain_Name |
+--------+-----------------------+-------------+
| 1 | John9989@facebook.com | facebook |
| 2 | 983773CS@yahoo.com | yahoo |
| 3 | Chris95@gmail.com | gmail |
+--------+-----------------------+-------------+
ব্যাখ্যা:
SUBSTRING_INDEX(UserMailId, '@', -1)→ '@' চিহ্নের শেষ অংশ বের করে (যেমন: facebook.com)SUBSTRING_INDEX(..., '.', 1)→ '.' চিহ্নের প্রথম অংশ বের করে (যেমন: facebook)