समस्या
VARCHAR कॉलम पर MAX() सीधे काम नहीं करता क्योंकि स्ट्रिंग तुलना वर्णानुक्रम में होती है।
समाधान
CAST() का उपयोग करके VARCHAR को UNSIGNED INTEGER में बदलें फिर MAX() लागू करें।
उदाहरण
mysql> CREATE TABLE DemoTable2030 (Value VARCHAR(20));
mysql> INSERT INTO DemoTable2030 VALUES ('8'), ('1'), ('10001'), ('901');
क्वेरी
mysql> SELECT MAX(CAST(Value AS UNSIGNED)) FROM DemoTable2030;
परिणाम
+------------------------------+ | max(cast(Value as unsigned)) | +------------------------------+ | 10001 | +------------------------------+
नोट: CAST(Value AS UNSIGNED) स्ट्रिंग को संख्या में बदलता है, फिर MAX सही संख्यात्मक अधिकतम देता है।