REPLACE (Transact-SQL)

Заменяет все вхождения указанного строкового значения другим строковым значением.

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

Синтаксис

REPLACE ( string_expression , string_pattern , string_replacement )

Аргументы

  • string_expression
    Строковое выражение, в котором производится поиск. Аргумент string_expression может содержать символьные или двоичные данные.

  • string_шаблон
    Искомая подстрока. Аргумент string_pattern может иметь символьный или двоичный тип данных и не может быть пустой строкой ('').

  • string_replacement
    Замещающая строка. Аргумент string_replacement может иметь символьный или двоичный тип данных.

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

Возвращает значение типа nvarchar, если один из входных аргументов имеет тип данных nvarchar; в противном случае возвращается значение типа varchar.

Возвращает NULL, если какой-либо из аргументов имеет значение NULL.

Замечания

REPLACE производит сравнение, основанное на параметрах сортировки входных данных. Для выполнения сравнения в указанных параметрах сортировки можно воспользоваться функцией COLLATE, чтобы явно указать параметры сортировки для входных данных.

Примеры

На следующем примере показано, как заменяется строка cde в строке abcdefghi строкой xxx.

SELECT REPLACE('abcdefghicde','cde','xxx');
GO

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

------------
abxxxfghixxx
(1 row(s) affected)

Следующий пример иллюстрирует использование функции COLLATE.

SELECT    REPLACE('Das ist ein Test'  COLLATE Latin1_General_BIN,
'Test', 'desk' );
GO

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

------------
Das ist ein desk
(1 row(s) affected)