MySQL में CAST और MIN/MAX के साथ VARCHAR संख्याओं से न्यूनतम/अधिकतम निकालना
जब संख्याएं VARCHAR कॉलम में संग्रहीत होती हैं, तो CAST(... AS SIGNED) या CAST(... AS UNSIGNED) का उपयोग करके उन्हें संख्या में परिवर्तित करके MIN() और MAX() सही ढंग से काम करते हैं।
व्यावहारिक उदाहरण
तालिका बनाना
mysql> CREATE TABLE DemoTable (
Value VARCHAR(100)
);
स्ट्रिंग संख्याएं डालना
mysql> INSERT INTO DemoTable VALUES('190');
mysql> INSERT INTO DemoTable VALUES('230');
mysql> INSERT INTO DemoTable VALUES('120');
mysql> INSERT INTO DemoTable VALUES('189');
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट:
+-------+ | Value | +-------+ | 190 | | 230 | | 120 | | 189 | +-------+
न्यूनतम और अधिकतम अलग कॉलम में प्राप्त करने के लिए क्वेरी
mysql> SELECT MIN(CAST(Value AS SIGNED)) AS Min, MAX(CAST(Value AS SIGNED)) AS Max FROM DemoTable;
आउटपुट:
+------+------+ | Min | Max | +------+------+ | 120 | 230 | +------+------+
कास्टिंग के बिना समस्या