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