अपडेट:MySQL 8.0 में एक फ़ंक्शन है REGEX_REPLACE()ए> .
नीचे 2014 से मेरा उत्तर है, जो अभी भी 8.0 से पहले MySQL के किसी भी संस्करण पर लागू होता है:
REPLACE() के पास वाइल्डकार्ड, पैटर्न, रेगुलर एक्सप्रेशन आदि के लिए कोई समर्थन नहीं है। REPLACE() केवल एक स्थिर स्ट्रिंग को दूसरी स्थिर स्ट्रिंग के लिए प्रतिस्थापित करता है।
आप स्ट्रिंग के प्रमुख भाग और स्ट्रिंग के पीछे वाले भाग को चुनने के लिए कुछ जटिल कोशिश कर सकते हैं:
UPDATE table
SET Configuration = CONCAT(
SUBSTR(Configuration, 1, LOCATE('<tag>', Configuration)+4),
NEW_DATA,
SUBSTR(Configuration, LOCATE('</tag>', Configuration)
)
लेकिन यह उन मामलों के लिए काम नहीं करता है जब आपके पास <tag>
. की कई घटनाएं होती हैं ।
आपको पंक्ति को एक एप्लिकेशन में वापस लाना पड़ सकता है, अपनी पसंदीदा भाषा का उपयोग करके स्ट्रिंग प्रतिस्थापन करना होगा, और पंक्ति को वापस पोस्ट करना होगा। दूसरे शब्दों में, प्रत्येक पंक्ति के लिए तीन-चरणीय प्रक्रिया।