В этом руководстве вы узнаете, как использовать функцию 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 и возврата новой строки с экранированными символами.


