2013-02-26 191 views
19

में सबस्ट्रिंग का चयन एक दृश्य में, मैं एक स्तंभ टिप्पणी जो बड़े स्ट्रिंग हो सकती है। मैं सिर्फ चयनित स्ट्रिंग के अंत में पहले 60 अक्षरों का चयन करें और संलग्न करने के लिए '...' चाहते हैं।स्ट्रिंग लंबाई की जांच और उसके बाद कैसे Sql सर्वर

पहले 60 अक्षरों का चयन के लिए मैं क्वेरी निम्नलिखित का इस्तेमाल किया है:

select LEFT(comments, 60) as comments from myview 

अब मैं नीचे के रूप में अपनी प्रसंस्करण हैं:

  1. चेक इसे और अधिक तो 60 वर्ण या नहीं होता है।
  2. तो केवल पहली 6o पात्रों का चयन करें और अंत में तीन बिंदु संलग्न शामिल हैं।
  3. यदि यह अधिक तो 60 वर्ण नहीं तो अंत में तीन डॉट्स जोड़कर बिना पूरी स्ट्रिंग का चयन करें।

धन्यवाद

+0

की संभावित डुप्लिकेट [सबस्ट्रिंग केवल तभी स्ट्रिंग लंबाई> 2] (https://stackoverflow.com/questions/10899661/substring-only-if-string-length- 2) – amin

उत्तर

31

सशर्त स्ट्रिंग की लंबाई की जाँच करने के लिए, CASE का उपयोग करें।

SELECT CASE WHEN LEN(comments) <= 60 
      THEN comments 
      ELSE LEFT(comments, 60) + '...' 
     END As Comments 
FROM myView 
+0

ध्यान रखें कि पहले मामले में उत्पादन स्ट्रिंग की अधिकतम लेन 60 और दूसरी में 63 है! – pkuderov