如何检查字符串长度,然后在Sql Server中选择子字符串

时间:2013-02-26 14:44:10

标签: sql sql-server-2008 tsql

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

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

select LEFT(comments, 60) as comments from myview

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

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

1 个答案:

答案 0 :(得分:38)

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

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