MySQL में LEFT() और RIGHT() फंक्शन से स्ट्रिंग के प्रारंभ/अंत से N कैरेक्टर निकालना
सिंटैक्स:
-- पहले N कैरेक्टर (बाएं से) SELECT LEFT(yourColumnName, N) FROM yourTableName; -- अंतिम N कैरेक्टर (दाएं से) SELECT RIGHT(yourColumnName, N) FROM yourTableName;
व्यावहारिक उदाहरण: अंतिम 5 कैरेक्टर
1. टेबल बनाएं:
mysql> CREATE TABLE gettingLast5Characters (BookName VARCHAR(100)); Query OK, 0 rows affected (0.73 sec)
2. पुस्तक नाम डालें:
mysql> INSERT INTO gettingLast5Characters VALUES('Introduction to C');
mysql> INSERT INTO gettingLast5Characters VALUES('C in Depth');
mysql> INSERT INTO gettingLast5Characters VALUES('Introduction to Java');
mysql> INSERT INTO gettingLast5Characters VALUES('Let us C');
3. सभी रिकॉर्ड:
+----------------------+ | BookName | +----------------------+ | Introduction to C | | C in Depth | | Introduction to Java | | Let us C | +----------------------+ 4 rows in set (0.00 sec)
4. अंतिम 5 कैरेक्टर निकालें:
mysql> SELECT RIGHT(BookName, 5) AS Last5Character
-> FROM gettingLast5Characters;
+----------------+ | Last5Character | +----------------+ | to C | | Depth | | Java | | us C | +----------------+ 4 rows in set (0.04 sec)
नोट: स्पेस भी कैरेक्टर के रूप में गिना जाता है ("to C" में स्पेस सहित 4 कैरेक्टर, लेकिन RIGHT(...,5) 5 कैरेक्टर लेता है)।
संबंधित फंक्शन तुलना:
| फंक्शन | उद्देश्य | उदाहरण: 'Hello World' |
|---|---|---|
LEFT(str, 5) | पहले 5 | 'Hello' |
RIGHT(str, 5) | अंतिम 5 | 'World' |
SUBSTRING(str, 7, 5) | स्थिति 7 से 5 कैरेक्टर | 'World' |
SUBSTRING_INDEX(str, ' ', -1) | अंतिम शब्द (स्पेस सेपरेटर) | 'World' |
व्यावहारिक उपयोग केस:
- फाइल एक्सटेंशन निकालना:
RIGHT(filename, 4)→ '.pdf', '.jpg' - फोन नंबर के अंतिम 4 अंक:
RIGHT(phone, 4) - साल निकालना (YYYY-MM-DD):
LEFT(date_col, 4) - मास्किंग:
CONCAT('****', RIGHT(card_number, 4))
मल्टीबाइट कैरेक्टर (UTF-8) के लिए:
LEFT/RIGHT बाइट्स गिनते हैं। हिंदी/चीनी/इमोजी के लिए:
-- कैरेक्टर गिनती के लिए (MySQL 8.0+) SELECT SUBSTRING(utf8_col, 1, 5); -- पहले 5 कैरेक्टर SELECT SUBSTRING(utf8_col, -5); -- अंतिम 5 कैरेक्टर (नकारात्मक स्थिति)