MySQL संस्करण संख्या सॉर्टिंग
जब MySQL में संस्करण संख्याओं को varbinary(300) के रूप में संग्रहीत किया जाता है, तो उन्हें संस्करण संख्या द्वारा डिफ़ॉल्ट क्रम का उपयोग करके क्रमबद्ध किया जा सकता है ग़लत परिणाम. इसे हल करने के लिए, सॉर्टिंग की सुविधा के लिए INET_ATON फ़ंक्शन का उपयोग करने पर विचार करें।
संशोधित क्वेरी:
SELECT version_number FROM table ORDER BY INET_ATON(SUBSTRING_INDEX(CONCAT(version_number,'.0.0.0'),'.',4))
यह तकनीक आईपी पते का प्रतिनिधित्व करने वाली एक स्ट्रिंग को संख्यात्मक प्रतिनिधित्व में बदलने के लिए INET_ATON फ़ंक्शन पर निर्भर करती है . '.0.0.0' को संस्करण_नंबर से जोड़कर, हम यह सुनिश्चित करते हैं कि प्रत्येक संस्करण संख्या में कम से कम चार घटक हों, जिन्हें निकालने के लिए हम SUBSTRING_INDEX का उपयोग करते हैं।
पहले चार घटकों के संख्यात्मक प्रतिनिधित्व के आधार पर क्रमबद्ध करके प्रत्येक संस्करण संख्या, हम वांछित छँटाई क्रम प्राप्त करते हैं। हालाँकि, ध्यान दें कि चूंकि यह सॉर्टिंग एक फ़ंक्शन पर निर्भर करती है, इसलिए इंडेक्स वाले कॉलम पर सीधे सॉर्ट करने की तुलना में इसमें प्रदर्शन जुर्माना लग सकता है।
@spanky द्वारा प्रस्तावित एक अन्य समाधान में संस्करण संख्या घटकों को अलग करना शामिल है व्यक्तिगत कॉलम. उदाहरण के लिए, प्रमुख, लघु, पैच और बिल्ड संस्करणों के लिए कॉलम बनाएं। यह दृष्टिकोण विशिष्ट घटकों पर कुशल सॉर्टिंग की अनुमति देता है, लेकिन अधिक जटिल डेटा हेरफेर की आवश्यकता हो सकती है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3