MySQL में REPLACE() फ़ंक्शन का उपयोग करके किसी स्ट्रिंग में सभी घटनाओं को दूसरे स्ट्रिंग से बदला जा सकता है। यह टाइपो सुधार, डेटा सफाई के लिए उपयोगी है।
सिंटैक्स
REPLACE(column_name, 'old_string', 'new_string')
उदाहरण
तालिका बनाएं और डेटा डालें (टाइपो के साथ):
mysql> CREATE TABLE DemoTable (Name VARCHAR(20));
mysql> INSERT INTO DemoTable VALUES ('John Smitk'), ('David Miller'), ('Adam Smitk');
अपडेट से पहले
+--------------+
| Name |
+--------------+
| John Smitk |
| David Miller |
| Adam Smitk |
+--------------+
'k' को 'h' से बदलें
mysql> UPDATE DemoTable
-> SET Name = REPLACE(Name, 'k', 'h');
अपडेट के बाद
+--------------+
| Name |
+--------------+
| John Smith |
| David Miller |
| Adam Smith |
+--------------+
महत्वपूर्ण व्यवहार
- सभी घटनाएं बदली जाती हैं, केवल पहली नहीं
- केस-संवेदनशील: 'k' ≠ 'K'
- यदि खोज स्ट्रिंग नहीं मिलती, तो मूल मान अपरिवर्तित रहता है
- NULL इनपुट पर NULL लौटाता है
SELECT में उपयोग (बिना अपडेट किए)
SELECT REPLACE(Name, 'k', 'h') AS CorrectedName FROM DemoTable;
एकाधिक प्रतिस्थापन
SELECT REPLACE(REPLACE(Name, 'k', 'h'), 'Smit', 'Smith') FROM DemoTable;
नोट
REPLACE() पूरे स्ट्रिंग को स्कैन करता है। बड़े कॉलम/तालिकाओं पर प्रदर्शन प्रभाव हो सकता है।