2012-05-06 16 views
19

में फ़ील्ड से अंतिम एन वर्ण हटाएं मेरे पास 4 मिलियन से अधिक पंक्तियों की तालिका है और गलती से एक कॉलम में आवश्यकतानुसार अधिक डेटा है।SQL सर्वर डेटाबेस

ABC के बजाय उदाहरण के लिए वहाँ ABC DEFG है।

मैं टीएसक्यूएल का उपयोग करके उस एन प्रतीक को कैसे हटा सकता हूं? कृपया ध्यान दें कि मैं डेटाबेस से इस पात्रों को हटाना चाहता हूं, न केवल सबस्ट्रिंग का चयन करें। धन्यवाद

उत्तर

44
UPDATE mytable SET column=LEFT(column, LEN(column)-5) 

स्तंभ (mytable में हर पंक्ति)

+0

जब मैं आपके उत्तर के अनुसार एकाधिक अद्यतन विवरणों का उपयोग करता हूं। यह पहले अद्यतन कथन के लिए काम करता है और दूसरों के लिए मुझे त्रुटि मिलती है: बाएं या सबस्ट्रिंग फ़ंक्शन को पास किया गया अमान्य लंबाई पैरामीटर। कृपया सहायता कीजिए –

11

मैं अपने ही सवाल का जवाब मिल गया से पिछले 5 वर्ण निकालता है, चींटी यह है:

select reverse(stuff(reverse('a,b,c,d,'), 1, N, '')) 

एन कहां है हटाने के लिए पात्रों की संख्या। इस परिसर में स्तंभ/स्ट्रिंग लिखने के लिए बचा जाता है दो बार

0

आप इसे प्रयोग करने कर सकता है:

अद्यतन तालिका सेट स्तंभ = SUBSTRING (स्तंभ, 0, LEN (स्तंभ) + 1 - एन)

निकालता है कॉलम

0

में प्रत्येक पंक्ति से अंतिम एन वर्ण, इसे करना चाहिए, बाएं से वर्णों को एक या फिर कई आवश्यकतानुसार हटा देना चाहिए।

lEFT(columnX,LEN(columnX) - 1) AS NewColumnName 
संबंधित मुद्दे