SUBSTRING और CAST के साथ न्यूमेरिक पार्ट निकालकर MAX
स्ट्रिंग+नंबर फॉर्मेट (जैसे 'INV129') वाले कॉलम से न्यूमेरिक पार्ट निकालकर मैक्सिमम खोजने के लिए:
SELECT MAX(CAST(SUBSTRING(yourColumnName, 4, LENGTH(yourColumnName)-3) AS UNSIGNED)) FROM yourTableName;
SUBSTRING(col, 4, LENGTH(col)-3) पहले 3 कैरेक्टर्स ('INV') के बाद का भाग निकालता है।
उदाहरण: इनवॉइस टेबल
mysql> CREATE TABLE StringIntMixHighestDemo (
-> InvoiceId INT NOT NULL AUTO_INCREMENT,
-> InvoiceNumber VARCHAR(20),
-> PRIMARY KEY(InvoiceId)
-> );
mysql> INSERT INTO StringIntMixHighestDemo(InvoiceNumber)
-> VALUES('INV129'),('INV122'),('INV1'),('INV145'),('INV19'),
-> ('INV134'),('INV135'),('INV10'),('INV100'),('INV121');
मैक्सिमम न्यूमेरिक वैल्यू खोजना
mysql> SELECT MAX(CAST(SUBSTRING(InvoiceNumber, 4, LENGTH(InvoiceNumber)-3) AS UNSIGNED)) AS HighestValue
-> FROM StringIntMixHighestDemo;
आउटपुट:
+--------------+ | HighestValue | +--------------+ | 145 | +--------------+
INV145 का न्यूमेरिक पार्ट 145 सबसे बड़ा है। स्ट्रिंग तुलना में 'INV19' > 'INV145' होता, लेकिन न्यूमेरिक तुलना सही परिणाम देती है।