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)