Подтвердить что ты не робот

Как проверить длину строки, а затем выбрать подстроку в Sql Server

В представлении у меня есть столбец comments, который может содержать большую строку. Я просто хочу выбрать первые 60 символов и добавить "..." в конце выбранной строки.

Для выбора первых 60 символов я использовал следующий запрос:

select LEFT(comments, 60) as comments from myview

Теперь я хочу, чтобы его обработка была следующей:

  • Проверьте, что он содержит более 60 символов или нет.
  • Если содержит, то выберите только первые 6o символов и добавьте три точки в конце.
  • Если он не содержит более 60 символов, выберите целую строку, не добавляя в нее три точки.

Спасибо

4b9b3361

Ответ 1

Чтобы условно проверить длину строки, используйте CASE.

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