अगर आपकी कास्ट काम नहीं करती है, तो आप ORDER BY क्लॉज के साथ अपने ColumnName*1 का उपयोग कर सकते हैं।
अपने कॉलमनाम*1 का उपयोग करना। वाक्य रचना इस प्रकार है:
अपना कॉलमनाम1 चुनें,अपना कॉलमनाम2,...N अपने टेबलनाम से ऑर्डर अपने कॉलमनाम*1 डीईएससी द्वारा करें;
आप CAST() ऑपरेटर का भी उपयोग कर सकते हैं। वाक्य रचना इस प्रकार है:
अपना कॉलमनाम1,अपना कॉलमनाम2,...एन अपनेटेबलनाम से कास्ट द्वारा ऑर्डर करें(आपका कॉलमनाम दशमलव (8,2) के रूप में) डीईएससी;
उपरोक्त वाक्य रचना को समझने के लिए, आइए एक तालिका बनाते हैं। तालिका बनाने की क्वेरी इस प्रकार है:
mysql> टेबल बनाएं VarcharColumnAsFloatDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Amount varchar(20), -> PRIMARY KEY(Id) -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (1.01 सेकंड)पूर्व>इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। क्वेरी इस प्रकार है:
mysql> VarcharColumnAsFloatDemo (राशि) मान ('3446.23') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.10 सेकंड) mysql> VarcharColumnAsFloatDemo (राशि) मान ('2464.46') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित है ( 0.16 सेकंड)mysql> VarcharColumnAsFloatDemo (राशि) मान ('6465.78') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.13 सेकंड) mysql> VarcharColumnAsFloatDemo (राशि) मान ('6464.98') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित ( 0.44 सेकंड)mysql> VarcharColumnAsFloatDemo (राशि) मान ('645.90') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.19 सेकंड) mysql> VarcharColumnAsFloatDemo (राशि) मान ('6465.99') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित ( 0.23 सेकंड)mysql> VarcharColumnAsFloatDemo(राशि) मान ('3745.76') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.14 सेकंड)चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है:
mysql> VarcharColumnAsFloatDemo से *चुनें;निम्न आउटपुट है:
+-----+---------+| आईडी | राशि |+----+------------+| 1 | 3446.23 || 2 | 2464.46 || 3 | 6465.78 || 4 | 6464.98 || 5 | 645.90 || 6 | 6465.99 || 7 | 3745.76 |+----+------------+7 पंक्तियाँ सेट में (0.00 सेकंड)यहाँ कास्ट ऑपरेटर का उपयोग करके varchar को फ्लोट के रूप में सॉर्ट करने के लिए क्वेरी है:
mysql> Id चुनें, VarcharColumnAsFloatDemo ऑर्डर कास्ट द्वारा (राशि DECIMAL(8,2)) DESC;निम्न आउटपुट है:
+-----+---------+| आईडी | राशि |+----+------------+| 6 | 6465.99 || 3 | 6465.78 || 4 | 6464.98 || 7 | 3745.76 || 1 | 3446.23 || 2 | 2464.46 || 5 | 645.90 |+-----+------------+7 पंक्तियाँ सेट में (0.00 सेकंड)दूसरा तरीका इस प्रकार है yourColumnName*1:
. का उपयोग करनाmysql> Id चुनें, VarcharColumnAsFloatDemo ऑर्डर से Amount*1 desc;निम्न आउटपुट है:
+-----+---------+| आईडी | राशि |+----+------------+| 6 | 6465.99 || 3 | 6465.78 || 4 | 6464.98 || 7 | 3745.76 || 1 | 3446.23 || 2 | 2464.46 || 5 | 645.90 |+-----+------------+7 पंक्तियाँ सेट में (0.00 सेकंड)