2012-04-10 6 views
17

मैं अपने MySQL डेटाबेस में किसी फ़ील्ड के अंत से कुछ वर्णों को निकालने का तरीका ढूंढ रहा हूं।MySQL डेटाबेस में फ़ील्ड के अंत से वर्णों को कैसे हटाएं

कहें कि मेरे पास 'आइटम' नामक एक टेबल है और 'विवरण' नामक एक फ़ील्ड है, उनमें से कुछ विवरण < ब्र > अंत में हैं। एक भी मामला हो सकता है, या उस क्षेत्र के अंत में 2-3 < ब्र > हो सकता है।

मुझे इन <br> के ट्रिम करने के लिए PHP/MySQL के माध्यम से एक रास्ता खोजने की आवश्यकता है। अन्य < ब्र > का वर्णन उस विवरण में हो सकता है जिसे मैं रखना चाहता हूं, अंत में केवल उन्हीं की जरूरत है जिन्हें मुझे हटा दिया जाना चाहिए।

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

+0

आप भी अगर आप didnot बीच में br है या मैं –

उत्तर

28

मैं परीक्षण करने के लिए एक mysql उदाहरण नहीं है, लेकिन कुछ इस तरह शायद यह करना होगा:

UPDATE myTable 
    SET myCol = TRIM(TRAILING '<br>' FROM myCol); 

string functions में से कुछ पर एक नजर डालें।

10

आप mysql में TRIM फ़ंक्शन का उपयोग कर सकते हैं।

UPDATE items SET descriptions = TRIM(TRAILING "<br>" FROM descriptions) 

टीआरआईएम उपयोग here है।

+0

चाहिए शुरू कर थोड़ा मेरे सवाल में और अधिक स्पष्ट किया गया है हटाने का उपयोग कर सकते की तरह। जिन पात्रों को मैं निकालना चाहता था वे
थे, भले ही कितने। मैं सचमुच "
" को हटाने की कोशिश नहीं कर रहा था। –

+0

हालांकि मैंने आपका जवाब वोट दिया था। –

+0

@ शेरविनफलाइट ठीक है, मैं जवाब संपादित कर दूंगा। – yaronli

2

फ़ील्ड को ट्रिम करने के लिए सबस्ट्रिंग और लेंस का उपयोग करें।

UPDATE MyTable SET MyField=SUBSTRING(MyField,1,LENGTH(MyField)-4) 
WHERE MyField LIKE '%<br>' 
+0

... और फिर आप बार-बार क्वेरी चलाएंगे जब तक कि कोई और प्रविष्टियां 'LIKE'% br'' से मेल नहीं खातीं। चतुर! – octern

+1

सबस्ट्रिंग पर मध्य तर्क एक होना चाहिए, शून्य नहीं। http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substring –

+0

यही कारण है कि मैंने "कुछ ऐसा" कहा था :)। धन्यवाद, संपादित। – SteveCav

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