2013-02-26 14 views
19

ビューでは、私は列がありますコメント大きな文字列を含む可能性があります。 最初の60文字を選択し、選択した文字列の最後に '...'を追加するだけです。私は、クエリ、次の使用している最初の60個の文字を選択するための文字列の長さを確認し、SQL Serverでサブ文字列を選択する方法

select LEFT(comments, 60) as comments from myview 

今、私は以下のようにその処理をしたい:

  1. はそれより後、60の文字が含まれているかどうか確認してください。
  2. この場合、最初の6文字のみを選択し、最後に3つのドットを追加します。
  3. 60文字以上含まれていない場合は、末尾に3つのドットを付けずに文字列全体を選択します。

おかげ

+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

最初のケースでは、出力文字列の最大lenは60で、2番目は63です。 – pkuderov

関連する問題