2010-10-15 7 views
34

यहां एक नमूना तालिका है:str_replace?

name  | picture 

John S. | http://servera.host.com/johns.png 
Linda B. | http://servera.host.com/lindab.png 
... 

चलो कहते हैं कि वहाँ कई सौ अधिक रिकॉर्ड कर रहे हैं हैं।

चलिए यह भी कहते हैं कि हमने सर्वर को "सर्वर" से "serverb" में स्थानांतरित कर दिया है।

क्या इस तालिका में एक प्रश्न के साथ सही सर्वर नाम पढ़ने के लिए प्रत्येक रिकॉर्ड के लिए कॉलम "चित्र" में सामग्री का नाम बदलने के लिए संभव होगा?

+3

हां, लगभग हर डेटाबेस इंजन पर यह एक ही अद्यतन क्वेरी के साथ ऐसा करना संभव होगा । चूंकि आप किसी विशेष उत्पाद को निर्दिष्ट नहीं करते हैं, हालांकि, आप शायद किसी के पसंदीदा उत्पाद के लिए उत्तर प्राप्त कर सकते हैं। हमें बताएं कि आप क्या उपयोग कर रहे हैं और कोई उस उत्पाद के सिंटैक्स के साथ जवाब देगा। –

+0

ओह, यह सच है - धन्यवाद, लैरी। मैं यह उल्लेख करना भूल गया था कि मैं MySQL –

+0

पर विकास कर रहा हूं यह आपके प्रश्न का उत्तर देने के बजाय एक वास्तुकला चिपकने वाला बिंदु है, लेकिन मैं आपके डेटाबेस में यूआरएल के FQDN को संग्रहीत करने का सुझाव नहीं दूंगा। इसे अपने एप्लिकेशन कोड में निरंतर रखें, और फिर जब आप अपनी तस्वीर के लिए एक लिंक खींचें तो src PIC_HOST_DOMAIN_NAME को जोड़ देगा। '/ Johns.png'। इससे आपकी छवियों को चारों ओर स्थानांतरित करना और सीडीएन का उपयोग अपनी छवियों के सामने बैठे सीएनएन के रूप में करना आसान बनाता है। –

उत्तर

81

T-SQL:

update TBL 
    set picture = Replace(picture, 'servera', 'serverb') 
where picture like '%servera%' 

ओरेकल:

update TBL 
    set picture = replace(picture, 'servera', 'serverb') 
where picture like '%servera%' 

MySQL:

update TBL 
    set picture = REPLACE(picture, 'servera', 'serverb') 
where picture like '%servera%' 
+0

आसान शक्तिशाली कार्यों को ढूंढना अच्छा लगता है :) MySQL उदाहरण के लिए धन्यवाद। +1 – Ben

14
UPDATE users 
SET picture = REPLACE(picture, 'http://servera.host.com/', 'http://serverb.host.com/') 
WHERE picture LIKE 'http://servera.host.com/%'; 

मैं तार का अधिक है क्योंकि मैं के बारे में चिंता होगी शामिल कर रहा हूँ 'somethingserverasomething.jpg' नाम की एक छवि 'फिक्सिंग'। मैं base_url तालिका रखने और उपयोगकर्ताओं में छवि फ़ाइल नामों को संग्रहीत करने के बारे में भी सोच सकता हूं, लेकिन यह सवाल आपके द्वारा नहीं पूछा गया है ;-)

संबंधित मुद्दे