Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में मिक्स्ड स्ट्रिंग/इंट कॉलम का मैक्सिमम कैसे चुनें?

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' होता, लेकिन न्यूमेरिक तुलना सही परिणाम देती है।

  1. - MySQL में CAST का उपयोग करके अनसाइन्ड इंट को -1 से गुणा करके ऋणात्मक बनाना

    MySQL में CAST(... AS SIGNED) का उपयोग करके अनसाइन्ड इंटीजर मान को -1 से गुणा करके ऋणात्मक मान प्राप्त करें। उदाहरण: टेबल बनाना और डेटा डालना mysql> CREATE TABLE DemoTable ( -> Value INT -> ); Query OK, 0 rows affected (0.80 sec) mysql> INSERT INTO DemoTable VALUES(10), (20),

  1. - MySQL SELECT क्वेरी में ALIAS (उपनाम) कैसे उपयोग करें

    AS कीवर्ड के साथ कॉलम और टेबल का उपनाम देना MySQL में कॉलम या टेबल को अस्थायी नाम (उपनाम) देने के लिए AS कीवर्ड का उपयोग करें। यह वैकल्पिक है लेकिन पठनीयता बढ़ाता है। टेबल और डेटा CREATE TABLE DemoTable ( Name VARCHAR(100) ); Query OK, 0 rows affected (0.51 sec) INSERT INTO DemoTable VALUES(

  1. - MySQL में SELECT क्वेरी से विशिष्ट कॉलम रिकॉर्ड कैसे प्राप्त करें?

    MySQL में किसी टेबल से केवल विशिष्ट कॉलम के डेटा को प्राप्त करना बहुत आसान है। इसके लिए SELECT * के बजाय केवल उस कॉलम का नाम लिखें जिसे आप देखना चाहते हैं। उदाहरण के साथ समझें सबसे पहले एक डेमो टेबल बनाते हैं: mysql> CREATE TABLE DemoTable1837 ( StudentId INT NOT NULL AUTO_INCREMENT PRIMARY