28

在一个视图中,我有一个可能包含大字符串的列注释。我只想选择前 60 个字符并在所选字符串的末尾附加“ ... ”。

为了选择前 60 个字符,我使用了以下查询:

select LEFT(comments, 60) as comments from myview

现在我希望它的处理如下:

  1. 检查它是否包含超过 60 个字符。
  2. 如果包含则仅选择前 6o 个字符并在末尾附加三个点。
  3. 如果它不包含超过 60 个字符,则选择整个字符串而不在末尾附加三个点。

谢谢

4

1 回答 1

45

要有条件地检查字符串的长度,请使用CASE.

SELECT  CASE WHEN LEN(comments) <= 60 
             THEN comments
             ELSE LEFT(comments, 60) + '...'
        END  As Comments
FROM    myView
于 2013-02-26T14:45:39.220 回答