STRING_ESCAPE (Transact-SQL)
Применимо к: SQL Server 2016 (13.x) и более поздних версий Azure SQL DatabaseУправляемый экземпляр SQL Azure
Экранирует специальные символы в тексте и возвращает текст с экранированными символами. STRING_ESCAPE — это детерминированная функция, впервые представленная в SQL Server 2016.
Соглашения о синтаксисе Transact-SQL
Синтаксис
STRING_ESCAPE( text , type )
Аргументы
text
Выражениеnvarchar, представляющее объект, который следует экранировать.
type
Правила экранирования, которые будут применены. В настоящее время поддерживается значение 'json'
.
Типы возвращаемых данных
Текст nvarchar(max) с экранированными специальными и управляющими символами. В настоящее время с помощью функции STRING_ESCAPE можно экранировать только специальные символы JSON, представленные в таблицах ниже.
Специальный символ | Закодированная последовательность |
---|---|
Кавычки («») | \" |
Обратная косая черта (\) | \\ |
Солидус (/) | \/ |
Отмена | \b |
Перевод страницы | \f |
Новая строка | \n |
Возврат каретки | \r |
Горизонтальная табуляция | \t |
Управляющий символ | Закодированная последовательность |
---|---|
CHAR(0) | \u0000 |
CHAR(1) | \u0001 |
... | ... |
CHAR(31) | \u001f |
Remarks
Примеры
A. Экранирование текста согласно правилам форматирования JSON
Приведенный ниже запрос экранирует специальные символы с использованием правил JSON и возвращает экранированный текст.
SELECT STRING_ESCAPE('\ /
\\ " ', 'json') AS escapedText;
Результирующий набор:
escapedText
-------------------------------------------------------------
\\\t\/\n\\\\\t\"\t
Б. Форматирование объекта JSON
Приведенный ниже запрос создает текст в формате JSON на основе числовых и строковых переменных, а затем экранирует все специальные символы JSON в переменных.
SET @json = FORMATMESSAGE('{ "id": %d,"name": "%s", "surname": "%s" }',
17, STRING_ESCAPE(@name,'json'), STRING_ESCAPE(@surname,'json') );
См. также:
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по