у меня большая строка в SQL Server. Я хочу обрезать эту строку до 10 или 15 символов
Исходная строка
this is test string. this is test string. this is test string. this is test string.
Желаемая строка
this is test string. this is ......
sql-server
tsql
СанамШайх
источник
источник
Ответы:
Если вы хотите вернуть только несколько символов из своей длинной строки, вы можете использовать:
Смотрите SQL Fiddle с демонстрацией .
Это вернет первые 15 символов строки, а затем объединит их
...
до конца.Если вы хотите убедиться, что строки меньше 15 не получают,
...
вы можете использовать:См. SQL Fiddle с демонстрацией
источник
...
добавленный, когда он не применяетсяТы можешь использовать
или
источник
Думаю, ответы здесь отличные, но я хотел бы добавить сценарий.
Несколько раз я хотел убрать определенное количество символов с начала строки, не беспокоясь о ее длине. Есть несколько способов сделать это с помощью RIGHT () и SUBSTRING (), но все они должны знать длину строки, что иногда может замедлить работу.
Вместо этого я использовал функцию STUFF ():
Это заменяет длину ненужной строки пустой строкой.
источник
Вы также можете использовать операцию Cast ():
источник
Вы также можете использовать приведенное ниже: iif избегает оператора case и добавляет многоточие только при необходимости (подходит только для SQL Server 2012 и более поздних версий), а оператор case более совместим с ANSI (но более подробен)
источник
источник