Поделиться через


STUFF (Transact-SQL)

Замещает указанное число символов, начиная с определенной позиции, другим заданным набором символов.

Значок ссылки на разделСоглашения о синтаксисе в Transact-SQL

Синтаксис

STUFF ( character_expression , start , length ,character_expression )

Аргументы

  • character_expression
    Выражение, содержащее символьные данные. Аргумент character_expression может быть константой, переменной или столбцом символьных или двоичных данных.
  • start
    Целочисленное значение, определяющее место начала удаления и вставки. Если аргументы start или length отрицательные, то возвращается значение NULL. Если значение аргумента start превышает длину character_expression, тогда возвращается значение NULL. Аргумент start может иметь тип bigint.
  • length
    Целочисленное выражение, которое определяет, какое количество символов следует удалить. Если значение аргумента length превышает длину первого аргумента character_expression, удаляются все символы вплоть до последнего в последнем character_expression. Аргумент length может иметь тип bigint.

Типы возвращаемых данных

Возвращает символьные данные, если аргумент character_expression имеет один из поддерживаемых символьных типов данных. Возвращает двоичные данные, если аргумент character_expression имеет один из поддерживаемых двоичных типов данных.

Замечания

Ошибка, которая возникает, если результат больше, чем максимальное значение, поддерживаемое типом возвращаемого параметра.

Примеры

Следующий пример иллюстрирует создание строки abcdef после удаления из нее трех символов, начиная с позиции 2, с символа b и вставки второй строки в место удаления.

SELECT STUFF('abcdef', 2, 3, 'ijklmn')
GO

Ниже приводится результирующий набор.

--------- 
aijklmnef 

(1 row(s) affected)

См. также

Справочник

Типы данных (Transact-SQL)
Строковые функции (Transact-SQL)

Справка и поддержка

Получение помощи по SQL Server 2005