MySQL में स्ट्रिंग को वर्णों की लंबाई के अनुसार क्रमबद्ध करने के लिए CHAR_LENGTH() फ़ंक्शन का उपयोग किया जाता है। यह फ़ंक्शन स्ट्रिंग में वर्णों की संख्या लौटाता है।
सिंटैक्स
SELECT * FROM yourTableName ORDER BY CHAR_LENGTH(yourColumnName);
उदाहरण
एक टेबल बनाते हैं:
CREATE TABLE OrderByCharacterLength (BookName VARCHAR(200));
कुछ किताबों के नाम डालते हैं:
INSERT INTO OrderByCharacterLength VALUES ('Let us C');
INSERT INTO OrderByCharacterLength VALUES ('Introduction to C');
INSERT INTO OrderByCharacterLength VALUES ('Data Structure And Algorithm in Java');
INSERT INTO OrderByCharacterLength VALUES ('C in Depth');
INSERT INTO OrderByCharacterLength VALUES ('Java Projects');
डिफ़ॉल्ट क्रम में देखें:
SELECT * FROM OrderByCharacterLength;
लंबाई के अनुसार क्रमबद्ध करना
SELECT * FROM OrderByCharacterLength ORDER BY CHAR_LENGTH(BookName);
परिणाम (छोटी से बड़ी लंबाई):
- Let us C (8 वर्ण)
- C in Depth (10 वर्ण)
- Java Projects (13 वर्ण)
- Introduction to C (17 वर्ण)
- Data Structure And Algorithm in Java (34 वर्ण)
उल्टे क्रम के लिए
SELECT * FROM OrderByCharacterLength ORDER BY CHAR_LENGTH(BookName) DESC;
नोट: CHAR_LENGTH() बहु-बाइट वर्णों (जैसे हिंदी, चीनी) के लिए सही गिनती देता है, जबकि LENGTH() बाइट्स गिनता है।