MySQL में ईमेल पते से डोमेन नाम निकालने के लिए 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 | +--------+-----------------------+ 3 rows in set (0.00 sec)
डोमेन नाम निकालने की क्वेरी
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 | +--------+-----------------------+-------------+ 3 rows in set (0.01 sec)
व्याख्या:
- पहला
SUBSTRING_INDEX(UserMailId, '@', -1)'@' के बाद का भाग निकालता है (जैसे 'facebook.com') - दूसरा
SUBSTRING_INDEX(..., '.', 1)पहले डॉट से पहले का भाग निकालता है (जैसे 'facebook')