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

MySQL में CASE और UPDATE से कॉलम में यूरो/डॉलर प्रतीक जोड़ें

शर्तों के आधार पर कॉलम मान में मुद्रा प्रतीक ($, €) जोड़ने के लिए CASE एक्सप्रेशन के साथ UPDATE का उपयोग करें।

टेबल बनाएं

mysql> CREATE TABLE DemoTable1874 (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Amount VARCHAR(100)
);

डेटा डालें

mysql> INSERT INTO DemoTable1874(Amount) VALUES('3450'), ('190'), ('7600'), ('4500');

CASE से प्रतीक जोड़ें

mysql> UPDATE DemoTable1874 SET Amount = CASE
    WHEN Id = 1 THEN CONCAT('$', '', Amount)
    WHEN Id = 3 THEN CONCAT('€', '', Amount)
    ELSE Amount
END;

आउटपुट:

+----+---------+
| Id | Amount  |
+----+---------+
|  1 | $3450   |
|  2 | 190     |
|  3 | €7600   |
|  4 | 4500    |
+----+---------+

व्याख्या

  • CASE WHEN ... THEN ... ELSE ... END → शर्त अनुसार मान सेट करता है।
  • CONCAT('$', '', Amount) → '$' + खाली स्ट्रिंग + Amount (खाली स्ट्रिंग वैकल्पिक)।
  • ELSE Amount → शर्त न मिलने पर मूल मान रखता है।

सरल सिंटैक्स (केस एक्सप्रेशन)

UPDATE DemoTable1874 SET Amount = CASE Id
    WHEN 1 THEN CONCAT('$', Amount)
    WHEN 3 THEN CONCAT('€', Amount)
    ELSE Amount
END;

बेहतर डिज़ाइन: अलग मुद्रा कॉलम

ALTER TABLE DemoTable1874
ADD COLUMN Currency CHAR(3) DEFAULT 'USD',
MODIFY Amount DECIMAL(10,2);

फिर: UPDATE ... SET Currency = 'EUR' WHERE Id = 3;

यह सॉर्टिंग, गणना, विनिमय दर के लिए बेहतर है।

  1. - MySQL में UPDATE WHERE से विशिष्ट पंक्ति और कॉलम मान अपडेट करें

    MySQL में UPDATE स्टेटमेंट और WHERE क्लॉज का उपयोग करके विशिष्ट पंक्ति के विशिष्ट कॉलम का मान बदल सकते हैं। सिंटैक्स UPDATE टेबल_नाम SET कॉलम_नाम = नया_मान WHERE शर्त; उदाहरण: StudentId अपडेट करें जहां StudentName = Carol Taylor 1. टेबल बनाएं ); 2. डेटा डालें INSERT INTO DemoTable1569 VALUES(D

  1. - MySQL में TRUNCATE TABLE से ऑटो-इन्क्रीमेंट कॉलम रीसेट करें

    TRUNCATE TABLE टेबल की सभी पंक्तियाँ हटाता है और AUTO_INCREMENT काउंटर को शुरुआती मान (डिफ़ॉल्ट 1) पर रीसेट करता है। यह DELETE से तेज़ है और लॉग नहीं करता। टेबल बनाएं mysql> CREATE TABLE DemoTable1888 ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ); डेटा डालें mysql> INSERT INTO DemoTable

  1. - MySQL में कॉलम मान के पहले अक्षर को प्राप्त करके दूसरे कॉलम में डालें

    समाधान LEFT() फंक्शन का उपयोग करके पहले अक्षर को निकालें और UPDATE से दूसरे कॉलम में स्टोर करें। उदाहरण टेबल बनाएं: INSERT INTO DemoTable2036 (Title) VALUES (Chris), (John), (Adam); अपडेट क्वेरी UPDATE DemoTable2036 SET FirstLetter = LEFT(Title, 1); परिणाम +-------------+-------+ | FirstLetter