Track
SQL का REPLACE() फ़ंक्शन टेक्स्ट मैनिपुलेशन के लिए उपयोगी है, क्योंकि यह किसी स्ट्रिंग के एक हिस्से को किसी अन्य निर्दिष्ट सबस्ट्रिंग से बदल सकता है। अधिकतर मामलों में, SQL REPLACE() फ़ंक्शन का उपयोग दिए गए डेटासेट में किसी स्ट्रिंग के भीतर पाई जाने वाली सभी सबस्ट्रिंग आवृत्तियों को संशोधित करने के लिए किया जाता है।
SQL में टेक्स्ट मैनिपुलेशन महत्वपूर्ण है क्योंकि यह डेटा को साफ़ करने और विश्लेषण के लिए कुशलतापूर्वक रूपांतरित करने में मदद करता है। इस ट्यूटोरियल में, मैं आपको इसका उपयोग करना दिखाऊंगा।
यदि आप एक उभरते डेटा वैज्ञानिक या डेटा इंजीनियर हैं, तो मैं आपको DataCamp का Introduction to SQL कोर्स लेने के लिए प्रोत्साहित करता हूँ ताकि आप डेटा ट्रांसफॉर्मेशन में SQL फ़ंक्शंस की बेसिक्स समझ सकें। आपको हमारा SQL स्ट्रिंग फ़ंक्शंस गाइड भी देखना चाहिए ताकि हम विषय को आगे बढ़ाते समय कुछ बुनियादी अवधारणाओं की समीक्षा कर सकें।
TL;DR
-
REPLACE(string, old_substring, new_substring)एक ही कॉल में सबस्ट्रिंग की हर उपस्थिति को बदल देता है -
कई सबस्ट्रिंग्स बदलने के लिए कॉल्स को चेन करें:
REPLACE(REPLACE(col, 'a', 'b'), 'c', 'd') -
कैरैक्टर्स हटाने के लिए खाली स्ट्रिंग पास करें:
REPLACE(phone, '-', '') -
यदि कोई भी आर्ग्युमेंट
NULLहै, तो फ़ंक्शन उस पंक्ति के लिएNULLलौटाता है -
केस सेंसिटिविटी आपके डेटाबेस और कोलेशन पर निर्भर करती है—SQL Server और MySQL डिफ़ॉल्ट रूप से केस-इंसेंसिटिव होते हैं; PostgreSQL डिफ़ॉल्ट रूप से केस-सेंसिटिव होता है
SQL REPLACE() फ़ंक्शन को समझना
SQL में REPLACE() फ़ंक्शन किसी कॉलम में निर्दिष्ट सबस्ट्रिंग या स्ट्रिंग को ढूँढकर उसे किसी अन्य दी गई स्ट्रिंग से बदल देता है। नीचे दिया गया उदाहरण REPLACE() फ़ंक्शन के बेसिक उपयोग को दिखाता है। फ़ंक्शन के आर्ग्युमेंट्स में शामिल हैं:
-
string: मूल स्ट्रिंग, जिसमें आपको प्रतिस्थापन करना है। -
old_substring: वह सबस्ट्रिंग जिसे बदला जाना है। -
new_substring: वह सबस्ट्रिंग जो पुरानी सबस्ट्रिंग को बदलेगी।
REPLACE(string, old_substring, new_substring)
जब आप किसी टेबल में स्ट्रिंग्स को बदलने के लिए REPLACE() फ़ंक्शन का उपयोग करते हैं, तो क्वेरी का निम्नलिखित सिंटैक्स होगा, जहाँ:
-
column_name: वह कॉलम जिसमें सबस्ट्रिंग की उपस्थितियों की खोज की जाती है। -
old_substring: वह सबस्ट्रिंग जिसे बदला जाना है। -
new_substring: वह सबस्ट्रिंग जो पुरानी सबस्ट्रिंग को बदलेगी।
-- Select the description column from the products table,
-- replacing occurrences of 'old' with 'new'
SELECT
REPLACE(column_name, 'old_substring', 'new_substring') AS updated_column
FROM
Products;
REPLACE() का उदाहरण
SQL REPLACE() फ़ंक्शन सभी स्ट्रिंग उपस्थितियों को किसी निर्दिष्ट सबस्ट्रिंग या स्ट्रिंग से बदल देता है। नीचे दिए गए उदाहरण में, SQL के REPLACE() फ़ंक्शन ने description कॉलम में old मान को new से बदल दिया है। यह क्वेरी हर पंक्ति पर पुराने स्ट्रिंग को नए से प्रतिस्थापित करेगी।
-- Select the description column from the products table,
-- replacing occurrences of 'old' with 'new'
SELECT
REPLACE(description, 'old', 'new') AS updated_description
FROM
Products;
नोट: MySQL, PostgreSQL, Oracle और SQL Server डेटाबेस सभी REPLACE() फ़ंक्शन को सपोर्ट करते हैं।
SQL में REPLACE() के उपयोग के मामले
टेक्स्ट मैनिपुलेशन और डेटा ट्रांसफॉर्मेशन में SQL REPLACE() फ़ंक्शन के कई महत्वपूर्ण उपयोग के मामले हैं। इनमें शामिल हैं:
बेसिक प्रतिस्थापन
आप SQL REPLACE() फ़ंक्शन का उपयोग बेसिक प्रतिस्थापन करने के लिए कर सकते हैं। मान लीजिए हमारे SQL Server डेटाबेस में नीचे दी गई टेबल है:
Products टेबल का उदाहरण। छवि: लेखक द्वारा।
निम्नलिखित SQL क्वेरी का उपयोग करके, आप REPLACE() फ़ंक्शन से old स्टेटस को new में बदल सकते हैं।
SELECT
product_id,
product_name,
price,
REPLACE(status, 'old', 'new') AS updated_status
FROM Products;
परिणामी टेबल नीचे दिखाई गई तरह होगी।

SQL REPLACE() के साथ अद्यतन टेबल। छवि: लेखक द्वारा।
एकाधिक सबस्ट्रिंग्स बदलना
यदि आप कई सबस्ट्रिंग्स को बदलना चाहते हैं, तो कई REPLACE() फ़ंक्शंस को चेन करें। यहाँ, हम old को outdated और new को fresh से अपडेट कर रहे हैं।
-- Chain multiple REPLACE() functions to replace 'old' with 'outdated' and 'new' with 'fresh'
SELECT
product_id,
product_name,
price,
REPLACE(REPLACE(status, 'old', 'outdated'), 'new', 'fresh') AS updated_status
FROM Products;
परिणामी टेबल नीचे दिखाया गया है।

एकाधिक सबस्ट्रिंग्स के साथ अद्यतन टेबल। छवि: लेखक द्वारा।
कैरैक्टर्स हटाना
कैरैक्टर्स को पूरी तरह हटाने के लिए तीसरा आर्ग्युमेंट खाली स्ट्रिंग दें। यह किसी कॉलम से विराम चिह्न, अतिरिक्त स्पेस, या फ़ॉर्मैटिंग कैरैक्टर्स हटाने का सबसे साफ़ तरीका है।
-- Remove dashes from phone numbers
SELECT
customer_id,
REPLACE(phone_number, '-', '') AS clean_phone
FROM Customers;
उदाहरण के लिए, '555-867-5309' '5558675309' बन जाता है। यही तकनीक इम्पोर्टेड डेटा से विशेष कैरैक्टर्स, एन्कोडिंग आर्टिफैक्ट्स, या अनचाहा व्हाइटस्पेस हटाती है।
केस सेंसिटिविटी हैंडल करना
REPLACE() में केस सेंसिटिविटी आपके डेटाबेस और कोलेशन पर निर्भर करती है। PostgreSQL डिफ़ॉल्ट रूप से इसे केस-सेंसिटिव मानता है, इसलिए REPLACE(col, 'Old', 'New') 'old' से मेल नहीं खाएगा। SQL Server और MySQL कॉलम या डेटाबेस की कोलेशन का पालन करते हैं—अधिकांश डिफ़ॉल्ट इंस्टॉलेशन केस-इंसेंसिटिव कोलेशन का उपयोग करते हैं, इसलिए REPLACE() केस की परवाह किए बिना मेल खाएगा।
जब आप केस-इंसेंसिटिव मानों को बदलना चाहते हैं, तो प्रतिस्थापन से पहले टेक्स्ट को बदलने हेतु UPPER() या LOWER() फ़ंक्शंस का उपयोग करें। यह तकनीक मानों में स्थिरता बनाए रखती है।
-- Replace 'OLD' with 'OUTDATED', handling case sensitivity by converting to upper case
SELECT
product_id,
product_name,
price,
REPLACE(UPPER(status), 'OLD', 'OUTDATED') AS updated_status
FROM Products;

REPLACE() और UPPER() फ़ंक्शंस से अद्यतन टेबल। छवि: लेखक द्वारा।
-- Replace 'old' with 'outdated', handling case sensitivity by converting to lowercase
SELECT
product_id,
product_name,
price,
REPLACE(LOWER(status), 'old', 'outdated') AS updated_status
FROM Products;

SQL REPLACE() और LOWER() फ़ंक्शंस से अद्यतन टेबल। छवि: लेखक द्वारा।
उन्नत तकनीकें
ये तकनीकें सरल find-and-swap से आगे जाने वाली सब्स्टीट्यूशंस को संभालने के लिए REPLACE() को अन्य SQL फ़ंक्शंस के साथ मिलाती हैं।
डायनेमिक मानों से प्रतिस्थापन
REPLACE() फ़ंक्शन को अन्य SQL फ़ंक्शंस के संयोजन के साथ उपयोग करके डायनेमिक प्रतिस्थापन किए जा सकते हैं। उदाहरण के लिए, REPLACE() का उपयोग करके आप किसी अन्य कॉलम के मान को सबस्ट्रिंग के स्थान पर रख सकते हैं। नीचे दिए गए उदाहरण में, REPLACE() फ़ंक्शन प्रत्येक पुराने प्रोडक्ट को product_name से वास्तविक मान से बदल देता है।
-- Replace 'old' with the value from product_name column
SELECT
product_id,
product_name,
price,
REPLACE(status, 'old', product_name) AS updated_status
FROM Products;

REPLACE() फ़ंक्शन और डायनेमिक मानों के साथ अद्यतन टेबल। छवि: लेखक द्वारा।
UPDATE स्टेटमेंट्स में REPLACE() का उपयोग
SQL REPLACE() फ़ंक्शन UPDATE स्टेटमेंट्स के भीतर काम करता है ताकि एक या अधिक पंक्तियों में कॉलम मानों को संशोधित किया जा सके। नीचे दी गई क्वेरी status कॉलम में old मान को outdated से अपडेट करती है।
-- Update the status column to replace 'old' with 'outdated'
UPDATE Products
SET status = REPLACE(status, 'old', 'outdated')
WHERE status LIKE '%old%';
अधिक जटिल परिदृश्यों के लिए, जैसे किसी अन्य टेबल के साथ जॉइन करके अपडेट करना, हमारा SQL UPDATE with JOIN ट्यूटोरियल देखें।
REPLACE() को अन्य स्ट्रिंग फ़ंक्शंस के साथ जोड़ना
एक उन्नत तकनीक है REPLACE() को अन्य SQL स्ट्रिंग फ़ंक्शंस जैसे CHARINDEX() या SUBSTRING() के साथ मिलाकर स्ट्रिंग मानों को बदलना।
-- Replace part of the product name starting from the first space with 'Updated'
SELECT
product_id,
product_name,
price,
-- Extract the substring of product_name starting from the first space to the end
REPLACE(product_name, SUBSTRING(product_name, CHARINDEX(' ', product_name), LEN(product_name)), ' Updated') AS updated_product_name
FROM Products;
ऊपर दी गई क्वेरी से प्राप्त परिणामी टेबल नीचे दिखाया गया है।

REPLACE() और अन्य स्ट्रिंग फ़ंक्शंस से अद्यतन टेबल। छवि: लेखक द्वारा।
NULL को 0 से बदलना
आप COALESCE() फ़ंक्शन का उपयोग REPLACE() कॉल करने से पहले बैकअप मान के रूप में NULL को बदलने के लिए कर सकते हैं, जैसा कि नीचे दिखाया गया है।
-- Replace NULL with 'new' in the status column
SELECT
product_id,
product_name,
price,
REPLACE(COALESCE(status, 'NULL'), 'NULL', 0) AS updated_status
FROM Products;
चूक से बचें: यदि कोई भी आर्ग्युमेंट जो REPLACE() में पास किया गया है NULL है, तो फ़ंक्शन उस पंक्ति के लिए NULL लौटाता है—भले ही अन्य आर्ग्युमेंट वैध हों। nullable कॉलम्स को REPLACE() कॉल करने से पहले COALESCE() में लपेटें, बाद में नहीं।
SQL REPLACE() फ़ंक्शन के व्यावहारिक अनुप्रयोग
ये ऐसे परिदृश्य हैं जहाँ REPLACE() प्रोडक्शन क्वेरीज़ में अपनी जगह बनाता है।
-
डेटा क्लीनिंग:
REPLACE()फ़ंक्शन डेटा क्लीनिंग के लिए उपयोगी है—डेटासेट के भीतर स्ट्रिंग्स में अवांछित कैरैक्टर्स या स्पेसेज़ को हटाने और बदलने के लिए। -
डेटा ट्रांसफॉर्मेशन:
REPLACE()फ़ंक्शन का उपयोग डेटा ट्रांसफॉर्मेशन में मूल्यों को अलग-अलग फ़ॉर्मैट में बदलने और outdated मानों को नए से प्रतिस्थापित करने के लिए किया जाता है। -
यूज़र इनपुट संभालना:
REPLACE()फ़ंक्शन किसी विशिष्ट डेटाबेस में स्वीकृत एकसमान मानक में यूज़र इनपुट डेटा को समायोजित और कन्वर्ट करने में महत्वपूर्ण है। यह तकनीक डेटाबेस में एकरूपता सुनिश्चित करने में मदद करती है। -
टेक्स्ट मानकीकरण:
REPLACE()फ़ंक्शन स्ट्रिंग कॉलम्स में मानों का मानकीकरण करता है ताकि एकरूपता बनी रहे, जैसे संक्षिप्ताक्षरों को लोअरकेस या अपरकेस फ़ॉर्मैट में लाना। -
कंडीशनल प्रतिस्थापन:
REPLACE()फ़ंक्शन विशिष्ट नियमों के अनुसार मानों को बदलने के लिए आसान डेटाबेस प्रबंधन प्रथाओं में भी उपयोगी है।
REPLACE() के डेटाबेस-विशिष्ट इम्प्लीमेंटेशन
MySQL, PostgreSQL, Oracle और SQL Server डेटाबेस सभी SQL में REPLACE() फ़ंक्शन को सपोर्ट करते हैं, जिसका इन डेटाबेस में मिलते-जुलते सिंटैक्स होता है।
-- Replace 'old' with 'new' in the status column
SELECT
product_id,
product_name,
price,
REPLACE(status, 'old', 'new') AS updated_status
FROM Products;
REPLACE() के प्रदर्शन संबंधी विचार और सर्वोत्तम प्रथाएँ
REPLACE() फ़ंक्शन का उपयोग करते समय, निम्नलिखित प्रदर्शन-संबंधी विचारों और सर्वोत्तम प्रथाओं पर ध्यान देना महत्वपूर्ण है।
क्वेरी प्रदर्शन पर प्रभाव
REPLACE() फ़ंक्शन क्वेरी प्रदर्शन को प्रभावित कर सकता है, विशेष रूप से बड़े डेटासेट्स को संभालते समय। ऐसा इसलिए होता है क्योंकि फ़ंक्शन हर पंक्ति के लिए टेबल को अपडेट करता है और क्वेरी को चलने में समय लग सकता है।
इंडेक्सिंग संबंधी विचार
WHERE क्लॉज़ या UPDATE में REPLACE() चलाने से पहले उस कॉलम को इंडेक्स करें जिस पर आप क्वेरी कर रहे हैं। बिना इंडेक्स के, डेटाबेस मिलान खोजने के लिए हर पंक्ति स्कैन करता है—जो बड़े टेबल्स पर विशेष रूप से महँगा पड़ता है।
प्रदर्शन बाधाओं की निगरानी और समाधान
क्वेरी प्रदर्शन से संबंधित समस्याओं को सुलझाने के लिए, निम्नलिखित सर्वोत्तम प्रथाओं पर विचार करना महत्वपूर्ण है:
-
बड़े डेटासेट्स को संभालते समय क्वेरी प्रदर्शन की निगरानी और ऑप्टिमाइज़ करने के लिए डेटाबेस प्रोफाइलिंग टूल्स का उपयोग करें।
-
REPLACE()द्वारा स्ट्रिंग मानों को संशोधित करते समय, इंडेक्सेस को नियमित रूप से मेंटेन करें ताकि वे मेल खाते रहें। -
बड़े डेटासेट्स को संभालते समय क्वेरी निष्पादन समय को कम करने के लिए बैच प्रोसेसिंग शुरू करें।
डेटा ट्रांसफॉर्मेशन के लिए अन्य उन्नत SQL फ़ंक्शंस सीखने हेतु, मैं DataCamp का Learn SQL कोर्स लेने की सिफारिश करता हूँ। Reporting in SQL कोर्स भी डेटाबेस ऑप्टिमाइज़ेशन पर विषयों को कवर करता है, जो आपको प्रदर्शन को ऑप्टिमाइज़ करने की विभिन्न तकनीकें सीखने में मदद करेगा।
अंतिम विचार
REPLACE() फ़ंक्शन SQL डेटाबेस में अधिकांश टेक्स्ट सब्स्टीट्यूशन आवश्यकताओं को कवर करता है। NULL व्यवहार को ध्यान में रखें—किसी भी NULL आर्ग्युमेंट पर परिणाम NULL आता है—और जब केस सेंसिटिविटी मायने रखे, तो अपने डेटाबेस की कोलेशन सेटिंग्स की जाँच करें।
आप SQL में REPLACE() फ़ंक्शन के बारे में और जान सकते हैं DataCamp के Intermediate SQL और SQL Fundamentals कोर्सेज़ लेकर। मैं Associate Data Analyst in SQL करियर ट्रैक लेने की भी सलाह देता हूँ ताकि आप डेटा ट्रांसफॉर्मेशन में SQL के अनुप्रयोगों के बारे में अधिक सीख सकें और अपने करियर की शुरुआत कर सकें। अंत में, मैं आपको DataCamp का SQL Associate Certification लेने के लिए प्रोत्साहित करता हूँ ताकि आप डेटा विश्लेषण के लिए SQL के उपयोग में अपनी व्यावसायिक उपलब्धि प्रदर्शित कर सकें और नौकरी के इंटरव्यू में अलग दिखें।
अंत में, यदि आप डेटा विश्लेषण में उपयोग होने वाले विभिन्न SQL फ़ंक्शंस के बारे में अधिक सीखने में रुचि रखते हैं, तो मेरे कुछ अन्य ट्यूटोरियल अवश्य देखें:
अक्सर पूछे जाने वाले प्रश्न
SQL REPLACE() फ़ंक्शन क्या है?
SQL REPLACE() फ़ंक्शन किसी निर्दिष्ट सबस्ट्रिंग की सभी उपस्थितियों को किसी अन्य सबस्ट्रिंग से बदलता या संशोधित करता है।
क्या REPLACE() फ़ंक्शन केस-सेंसिटिव है?
SQL REPLACE() फ़ंक्शन केस-सेंसिटिव होता है। यदि आप केस-इंसेंसिटिव मानों को संभाल रहे हैं, तो प्रतिस्थापन से पहले स्ट्रिंग को UPPER या LOWER फ़ंक्शंस से कन्वर्ट करना होगा।
क्या SQL में REPLACE() फ़ंक्शन कई सबस्ट्रिंग्स को बदल सकता है?
यदि आप कई सबस्ट्रिंग्स को बदलना चाहते हैं, तो SQL में कई REPLACE() फ़ंक्शंस को चेन करें।
कौन से SQL डेटाबेस REPLACE() फ़ंक्शन को सपोर्ट करते हैं?
सभी प्रमुख डेटाबेस, जिनमें SQL Server, Oracle, PostgreSQL और MySQL शामिल हैं, SQL के REPLACE() फ़ंक्शन को सपोर्ट करते हैं।
क्या SQL REPLACE() फ़ंक्शन क्वेरी प्रदर्शन को प्रभावित करता है?
SQL में REPLACE() फ़ंक्शन बड़े डेटासेट्स को संभालते समय क्वेरी प्रदर्शन को प्रभावित कर सकता है। प्रदर्शन बेहतर करने के लिए, क्वेरीज़ को ऑप्टिमाइज़ करें और उचित इंडेक्सिंग का उपयोग करें।