Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как работи функцията STRING_ESCAPE() в SQL Server (T-SQL)

В SQL Server, T-SQL STRING_ESCAPE() функцията избягва специални символи в текстовете и връща текста с екранирани знаци.

Вие предоставяте текста и escape-типа като аргументи при извикване на функцията.

Синтаксис

Синтаксисът е така:

STRING_ESCAPE( text , type )

Където текст е текстът, който съдържа всички знаци, които трябва да бъдат екранирани, и type определя правилата за избягване, които да се прилагат.

Понастоящем единствената поддържана стойност за типа аргументът е 'json' .

Пример 1 – Основна употреба

Ето пример за това как работи:

SELECT STRING_ESCAPE('\', 'json') AS Result;

Резултат:

+----------+
| Result   |
|----------|
| \\       |
+----------+

Ето пример, когато наклонената черта е екранирана:

SELECT STRING_ESCAPE('/', 'json') AS Result;

Резултат:

+----------+
| Result   |
|----------|
| \/       |
+----------+

И ето пример с малко повече текст:

SELECT STRING_ESCAPE('Free beer/wine with every lambo!', 'json') AS Result;

Резултат:

+-----------------------------------+
| Result                            |
|-----------------------------------|
| Free beer\/wine with every lambo! |
+-----------------------------------+

Пример 2 – Невалиден тип

Към момента на писане единствената поддържана стойност за type параметърът е 'json' . Ето какво се случва, ако предоставим неподдържана стойност:

SELECT STRING_ESCAPE('\', 'oops') AS Result;

Резултат:

An invalid value was specified for argument 2.

Екранируеми символи

Към момента на писане, STRING_ESCAPE() функцията може да избягва само специалните символи на JSON, изброени в следната таблица:

Специален знак Кодирана последователност
Кавичка (") \"
Обратно солидус (\) \|
Солидус (/) \/
Backspace \b
Емисия за формуляр \f
Нов ред \n
Връщане на карета \r
Хоризонтален раздел \t
Контролен знак Кодирана последователност
CHAR(0) \u0000
CHAR(1) \u0001
CHAR(31) \u001f

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Вземете списък с таблици със или без ограничение на първичен ключ във всички бази данни от екземпляр на SQL Server - SQL Server / TSQL Урок, част 61

  2. Дата / клеймо за час за запис, когато записът е добавен към таблицата?

  3. как да направите данните си хоризонтални

  4. Подреждане на опашка в OneWay WCF съобщения с помощта на Windows Service и SQL Server

  5. Разпределена транзакция на свързан сървър между sql сървър и mysql