2011-02-24 12 views
14

मैं पंक्ति से सभी सफेद जगहों को कैसे हटा सकता हूं? मैं यहां एक ही प्रश्न के बहुत सारे देखता हूं लेकिन विकल्प का उपयोग करने के लिए सभी उत्तरों ar। प्रतिस्थापन केवल एक स्थान को पट्टी करने के लिए काम करेगा, बिलकुल नहीं।MySQL सभी सफेद जगहों को प्रतिस्थापित करता है -

पूर्व: a b c एक-ख-ग

धन्यवाद बन जाते हैं।

+3

प्रतिस्थापन सभी रिक्त स्थान को पट्टी करने के लिए काम करना चाहिए। –

+0

हू, आपके पास सही है। लेकिन मुझे पता है कि मैंने कोशिश की है और काम नहीं करता है। धन्यवाद। – oriceon

+0

@oriceon ठीक है, तो हमें आपका कोड देखने की ज़रूरत है। और इस संभावना पर विचार करें कि जिन चीजों को आप स्ट्रिप करने की कोशिश कर रहे हैं वे वास्तव में रिक्त स्थान भी नहीं हैं। –

उत्तर

21

यह निम्न MySQL समारोह के साथ प्राप्त किया जा सकता है:

SELECT REPLACE(table.field, ' ', '-') FROM table; 

यह एक करने के लिए सभी खाली स्थान के बदल दिया जाना चाहिए -

+3

आप उस उदाहरण में 'तालिका से' चाहते हैं, न कि 'फ़ील्ड से'। –

+0

ध्यान दें कि यह आपके डेटाबेस मानों को संग्रहीत नहीं करेगा, यह केवल विशिष्ट क्वेरी के परिणाम सेट के लिए रिक्त स्थान को डैश में परिवर्तित करेगा। – diamondsea

+0

डेटाबेस में उन्हें बदलने के लिए, नीचे @ faiz का उत्तर उपयोग करें: – diamondsea

4

इस

replace('a b c',' ','-') 
+0

मानक एसक्यूएल एकल उद्धरण स्ट्रिंग डेलीमीटर के रूप में उपयोग करता है। –

4
update image set path = REPLACE(image.path, ' ', '-') where path like '% %' 

प्रयास करें यदि आप चाहते हैं MySQL में पथ को अद्यतन करने के लिए स्वयं उन सभी पंक्तियों के लिए अद्यतन का उपयोग करें जिनमें रिक्त स्थान हैं% 20

1
UPDATE table SET table.field = REPLACE(table.field, ' ', '-'); 

यह सभी क्षेत्रों को अद्यतन करेगा, सभी जगहों को हाइफ़न के साथ बदल देगा। यह वास्तव में तालिकाओं में डेटा को संशोधित करेगा। ऊपर फोकको का जवाब केवल उस डेटा को बदल देगा जो खींच लिया गया है, इसलिए वास्तविक डेटा को नहीं बदला जा रहा है।

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

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