MySQL REPLACE() फंक्शन: कॉलम मान में विशिष्ट टेक्स्ट बदलना
REPLACE(str, from_str, to_str) फंक्शन स्ट्रिंग में from_str के सभी घटनाओं को to_str से बदल देता है। इसका उपयोग UPDATE में करके डुप्लिकेट मानों को बल्क में बदला जा सकता है।
उदाहरण: सभी 'Chris' को 'Adam Smith' में बदलें
टेबल बनाएं:
CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(50)
);
INSERT INTO DemoTable (Name) VALUES ('Chris'), ('Robert'), ('Chris'), ('David'), ('Mike');
डेटा:
+----+--------+ | Id | Name | +----+--------+ | 1 | Chris | | 2 | Robert | | 3 | Chris | | 4 | David | | 5 | Mike | +----+--------+
REPLACE के साथ UPDATE
UPDATE DemoTable SET Name = REPLACE(Name, 'Chris', 'Adam Smith');
परिणाम:
Query OK, 2 rows affected (0.17 sec) Rows matched: 5 Changed: 2 Warnings: 0
अपडेट के बाद डेटा
SELECT * FROM DemoTable;
+----+------------+ | Id | Name | +----+------------+ | 1 | Adam Smith | | 2 | Robert | | 3 | Adam Smith | | 4 | David | | 5 | Mike | +----+------------+
महत्वपूर्ण: REPLACE() सभी घटनाएं बदलता है
-- WHERE क्लॉज जोड़ें UPDATE DemoTable SET Name = 'Adam Smith' WHERE Name = 'Chris'; -- या CASE के साथ UPDATE DemoTable SET Name = CASE WHEN Name = 'Chris' THEN 'Adam Smith' ELSE Name END;
REPLACE() के अन्य उपयोग
- स्पेस सामान्यीकरण:
REPLACE(Name, ' ', ' ') - विशेष वर्ण हटाना:
REPLACE(Phone, '-', '') - URL एन्कोडिंग:
REPLACE(url, ' ', '%20')