इसके लिए आप ORDER BY IF(CAST()) का इस्तेमाल कर सकते हैं। आइए पहले एक टेबल बनाएं -
mysql> टेबल बनाएं DemoTable(EmployeeCode varchar(100));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (1.17 सेकंड)
इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें -
mysql> डेमोटेबल मानों में डालें ('190'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.14 सेकंड) mysql> डेमोटेबल मानों में डालें ('100'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.30 सेकंड) mysql> सम्मिलित करें डेमोटेबल मानों में ('जॉन'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.23 सेकंड) mysql> डेमोटेबल मानों में डालें ('120'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.21 सेकंड)
चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें -
mysql> डेमोटेबल से *चुनें;
यह निम्नलिखित आउटपुट देगा -
<पूर्व>+--------------+| कर्मचारी कोड |+--------------+| 190 || 100 || जॉन || 120 |+--------------+4 पंक्तियाँ सेट में (0.00 सेकंड)स्ट्रिंग और संख्या दोनों मानों के साथ varchar डेटा को आरोही क्रम में सॉर्ट करने के लिए क्वेरी निम्नलिखित है -
mysql> डेमोटेबल ऑर्डर से IF(CAST(EmpleeCode AS SIGNED) =0, 100000000000, CAST(EmpleeCode AS SIGNED)) से *चुनें;
यह निम्नलिखित आउटपुट का उत्पादन करेगा। यहां, नंबर पहले क्रमबद्ध होते हैं -
<पूर्व>+--------------+| कर्मचारी कोड |+--------------+| 100 || 120 || 190 || जॉन |+--------------+4 पंक्तियाँ सेट में, 1 चेतावनी (0.00 सेकंड)