2012-12-20 11 views
10

मुझे एक mysql डीबी में एक फ़ील्ड मिला है जो एक वर्चर (255) है। मैं ट्रिम() प्रमुख और रिक्त स्थान को अनुगामी दूर करने के लिए देखा है, लेकिन यह केवल रिक्त स्थान, नहीं टैब वर्ण को संभालने के लिए लगता है:MySQL में वर्चर फ़ील्ड की शुरुआत और अंत में टैब को कैसे निकालें?

UPDATE mytable SET textfield = TRIM(textfield); 

किसी को भी पता है कि कैसे भी शुरू बंद टैब पट्टी और एक क्षेत्र के अंत ?

उत्तर

24

तुम अब भी TRIM समारोह का उपयोग कर सकते हैं, और चरित्र को निर्दिष्ट छांट करने का:

UPDATE mytable SET email = TRIM(CHAR(9) FROM TRIM(email)); 
+0

'दोनों' को माना जाता है और निर्दिष्ट करने की आवश्यकता नहीं है। ओपी के अपडेट के बाद +1। – Kermit

+0

@ एनजेके धन्यवाद, आप सही हैं ... 'दोनों' अनावश्यक है ... –

+0

@MichaelFredrickson धन्यवाद! – Ray

8

क्या आपने यह कोशिश की है?

UPDATE mytable SET email = REPLACE(TRIM(email), CHAR(9), '') 
+0

+1 अच्छा काम! आगे 6 सेकंड! – davidethell

+1

क्या वह उस फ़ील्ड के अंदर सभी टैब को प्रतिस्थापित नहीं करेगा? – raina77ow

+0

मैं बीच में टैब के बारे में भी सोच रहा था ... लेकिन फिर, एक ईमेल पते में आम तौर पर टैब नहीं होते हैं। –

3

आप या तो \ t या CHAR (9) के साथ बदलें का उपयोग कर सकते हैं:

UPDATE mytable SET email = REPLACE(TRIM(email), '\t', ''); 
+0

मैं सभी टैब को प्रतिस्थापित नहीं करना चाहता, बस शुरुआत में और अंत में ... नहीं मध्य। क्षमा करें अगर फ़ील्ड नाम ईमेल ने आपको ऐसा लगता है। – Ray

2

TRIM फ़ंक्शन आपकी समस्या के लिए एक अच्छा समाधान प्रदान करता है। बस इस तरह कुछ का उपयोग करें:

UPDATE yourtable SET your_field = TRIM(CHAR(9) FROM TRIM(your_field)); 
संबंधित मुद्दे