MySQL में SUBSTRING() का उपयोग करके अक्षरों के अनुसार क्रमबद्ध करना
जब आपके पास '456 John Smith' जैसे स्ट्रिंग मान हों जिनमें संख्याएं और नाम दोनों शामिल हों, और आप केवल नाम के हिस्से के अनुसार क्रमबद्ध करना चाहते हों, तो MySQL का SUBSTRING() फ़ंक्शन बहुत उपयोगी होता है।
उदाहरण के लिए तालिका बनाना
mysql> CREATE TABLE DemoTable (
Id VARCHAR(100)
);
रिकॉर्ड डालना
mysql> INSERT INTO DemoTable VALUES('456 John Smith');
mysql> INSERT INTO DemoTable VALUES('897 Adam Smith');
mysql> INSERT INTO DemoTable VALUES('1009 Bob Smith');
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट:
+----------------+ | Id | +----------------+ | 456 John Smith | | 897 Adam Smith | | 1009 Bob Smith | +----------------+
अक्षरों के अनुसार क्रमबद्ध करने के लिए क्वेरी
mysql> SELECT * FROM DemoTable
ORDER BY SUBSTRING(Id, LOCATE(' ', Id));
परिणाम
+----------------+ | Id | +----------------+ | 897 Adam Smith | | 1009 Bob Smith | | 456 John Smith | +----------------+
व्याख्या: LOCATE(' ', Id) पहले स्पेस की स्थिति ढूंढता है, और SUBSTRING() उस स्थिति से लेकर अंत तक का भाग निकालता है - यानी केवल नाम का हिस्सा। इस तरह संख्याओं को नजरअंदाज करके केवल नाम के आधार पर क्रमबद्ध किया जाता है।