Функция SQL Server STRING_ESCAPE

В этом руководстве вы узнаете, как использовать функцию SQL Server STRING_ESCAPE() для экранирования специальных символов в строке.

Обзор функции SQL Server STRING_ESCAPE()

Функция STRING_ESCAPE() экранирует специальные символы в строке и возвращает новую строку с экранированным символом. В настоящее время функция STRING_ESCAPE() поддерживает только экранирование специальных символов JSON.

Ниже показан синтаксис функции STRING_ESCAPE():

STRING_ESCAPE(input_string, type)

Функция STRING_ESCAPE() принимает два аргумента:

  • input_string — это выражение, которое преобразуется в строку, подлежащую экранированию.
  • type указывает правила экранирования, которые будут применены. В настоящее время type принимает только значение 'json'.

В следующих таблицах перечислены специальные символы JSON, которые следует экранировать:

Особый характер Закодированная последовательность
Кавычка(“)
Обратная косая черта(\) \|
Солидус(/) \/
Возврат на одну позицию
Форма подачи
Новая строка
Возврат каретки
Горизонтальная вкладка
Управляющий символ Закодированная последовательность
СИМВОЛ(0) \u0000
СИМВОЛ(1) \u0001
СИМВОЛ(31) \u001f

Пример функции SQL Server STRING_ESCAPE()

В этом примере функция STRING_ESCAPE() используется для экранирования специальных символов с использованием правил JSON и возврата новой строки с экранированными символами.

SELECT 
    STRING_ESCAPE('['' This is a special / "message" /'']', 'json') AS
    escapedJson;

Вот что получилось:

escapedJson
--------------------------------------------
['\tThis is a special \/ \"message\" \/']
(1 row affected)

В этом руководстве вы узнали, как использовать функцию SQL Server STRING_ESCAPE() для экранирования специальных символов с помощью правил JSON и возврата новой строки с экранированными символами.

Мирослав С.

Автор статей, ИБ-специалист