【问题标题】:How to check string length and then select substring in Sql Server如何检查字符串长度,然后在 Sql Server 中选择子字符串
【发布时间】:2013-02-26 14:44:10
【问题描述】:

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

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

select LEFT(comments, 60) as comments from myview

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

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

谢谢

【问题讨论】:

标签: sql sql-server-2008 tsql


【解决方案1】:

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

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

【讨论】:

  • 请记住,在第一种情况下,输出字符串的最大 len 为 60,第二种情况下为 63!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-06-23
  • 2016-02-26
  • 1970-01-01
  • 2018-10-25
  • 2015-10-17
  • 2010-09-05
  • 2013-01-16
相关资源
最近更新 更多