2011-01-11 8 views

उत्तर

19
select substring(field, 1, 5) from sometable 
+0

मार्क, मुझे किसी तालिका से कॉलम के बाएं 8 वर्णों को ट्रिम करने की आवश्यकता है। कृपया सुझाव दें। – Simhadri

+2

@ सिमधद्री: उस मामले में, जैसा कि [मेरे उत्तर] में सुझाया गया है (http://stackoverflow.com/questions/4662496/trim-left-characters-in-sql-server/4662658#4662658), आप 'चयन का उपयोग कर सकते हैं STUFF (फ़ील्ड, 1,8, '') कुछ समय से –

2

उपयोग" छोड़ "

select left('Hello World', 5) 

या का उपयोग करें" SUBSTRING "

select substring('Hello World', 1, 5) 
+0

शेन के उत्तर के लिए धन्यवाद, मुझे हैलो वर्ल्ड से दुनिया को अपनाने की जरूरत है। – Simhadri

+0

आप चुनिंदा दाएं ('हैलो वर्ल्ड', 5) –

+0

का उपयोग कर सकते हैं धन्यवाद शेन – Simhadri

22

करने के लिए सबसे बाएं शब्द निकालते हैं, तो आप या तो सही या SUBSTRING का उपयोग करना होगा। मान लें कि आप के.एन. ow कितने वर्ण शामिल कर रहे हैं, जो निम्न में से या तो दिखेगा:

SELECT RIGHT('Hello World', 5) 
SELECT SUBSTRING('Hello World', 6, 100) 

आप कि पहला शब्द है, तो आपको CHARINDEX का उपयोग कर पता लगाने के लिए की आवश्यकता होगी कितने वर्ण पता नहीं है, तो विकल्प SUBSTRING में वापस कि मूल्य:

SELECT SUBSTRING('Hello World', CHARINDEX(' ', 'Hello World') + 1, 100) 

यह पहली अंतरिक्ष की स्थिति पाता है, तो सही करने के लिए शेष वर्ण लेता है।

5

'हैलो' स्ट्रिंग के शुरू में के लिए:

SELECT STUFF('Hello World', 1, 6, '') 

यह 'हैलो' स्ट्रिंग में कहीं भी के लिए काम करेंगे:

SELECT REPLACE('Hello World', 'Hello ', '') 
4

आप SUBSTRING के साथ संयोजन में LEN उपयोग कर सकते हैं:

SELECT SUBSTRING(myColumn, 7, LEN(myColumn)) from myTable 
संबंधित मुद्दे