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

MySQL में REPLACE() से कॉलम मान में विशेष वर्ण बदलें

MySQL का REPLACE() फ़ंक्शन किसी स्ट्रिंग में सभी घटनाओं को ढूंढकर नए स्ट्रिंग से बदल देता है। इसका उपयोग UPDATE के साथ करके कॉलम डेटा साफ़ कर सकते हैं।

सिंटैक्स

UPDATE टेबल_नाम
SET कॉलम_नाम = REPLACE(कॉलम_नाम, 'पुराना_स्ट्रिंग', 'नया_स्ट्रिंग');

उदाहरण: '______' को 'Mike_007' से बदलें

1. टेबल बनाएं

mysql> CREATE TABLE DemoTable1574 (StudentCode VARCHAR(20));

2. डेटा डालें

mysql> INSERT INTO DemoTable1574 VALUES('111_Carol');
mysql> INSERT INTO DemoTable1574 VALUES('______');
mysql> INSERT INTO DemoTable1574 VALUES('David_12345');
mysql> INSERT INTO DemoTable1574 VALUES('______');

3. अपडेट से पहले

mysql> SELECT * FROM DemoTable1574;
+-------------+
| StudentCode |
+-------------+
| 111_Carol   |
| ______      |
| David_12345 |
| ______      |
+-------------+

4. REPLACE के साथ अपडेट

mysql> UPDATE DemoTable1574
    -> SET StudentCode = REPLACE(StudentCode, '______', 'Mike_007');
Query OK, 2 rows affected. Rows matched: 4 Changed: 2

5. अपडेट के बाद

mysql> SELECT * FROM DemoTable1574;
+-------------+
| StudentCode |
+-------------+
| 111_Carol   |
| Mike_007    |
| David_12345 |
| Mike_007    |
+-------------+

REPLACE विशेषताएं

  • केस-संवेदी
  • सभी घटनाएं बदलता है (नहीं तो पहला)
  • यदि पुराना स्ट्रिंग नहीं मिला तो कोई बदलाव नहीं
  • NULL इनपुट पर NULL देता है

चयनात्मक अपडेट (WHERE के साथ)

UPDATE DemoTable1574
SET StudentCode = REPLACE(StudentCode, '______', 'Mike_007')
WHERE StudentCode = '______';  -- केवल सटीक मिलान

एकाधिक प्रतिस्थापन

UPDATE DemoTable
SET col = REPLACE(REPLACE(REPLACE(col, 'a', 'A'), 'b', 'B'), 'c', 'C');

नोट

REPLACE() स्ट्रिंग फ़ंक्शन है, REPLACE INTO स्टेटमेंट (INSERT ... ON DUPLICATE KEY UPDATE जैसा) से अलग।

  1. - MySQL क्वेरी में UNION ALL से कस्टम मान जोड़ें

    कभी-कभी क्वेरी परिणाम में एक अतिरिक्त मान जोड़ना होता है जो टेबल में नहीं है। UNION ALL का उपयोग करके एक स्थिर मान को परिणाम सेट में जोड़ा जा सकता है। टेबल बनाएं mysql> CREATE TABLE DemoTable1847 ( GameStatus ENUM(PENDING,COMPLETED,CANCELLED) ); डेटा डालें mysql> INSERT INTO DemoTable184

  1. - MySQL में VARCHAR कॉलम से अधिकतम मान कैसे प्राप्त करें

    समस्या VARCHAR कॉलम पर MAX() सीधे काम नहीं करता क्योंकि स्ट्रिंग तुलना वर्णानुक्रम में होती है। समाधान CAST() का उपयोग करके VARCHAR को UNSIGNED INTEGER में बदलें फिर MAX() लागू करें। उदाहरण INSERT INTO DemoTable2030 VALUES (8), (1), (10001), (901); क्वेरी SELECT MAX(CAST(Value AS UNSIGNED)) FRO

  1. - MySQL में मान 0 होने पर दूसरे कॉलम का मान कैसे चुनें?

    IF() फ़ंक्शन का उपयोग यदि किसी कॉलम का मान 0 है तो दूसरे कॉलम का मान लेने के लिए IF() फ़ंक्शन प्रयोग करें: select IF(yourColumnName1=0, yourColumnName2, yourColumnName1) as anyAliasName from yourTableName; टेबल बनाना और डेटा डालना insert into demo30(value,original_value) values(30,0); डेटा देखना