Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak działa funkcja STRING_ESCAPE() w SQL Server (T-SQL)

W SQL Server, T-SQL STRING_ESCAPE() funkcja pomija znaki specjalne w tekstach i zwraca tekst ze znakami ucieczki.

Podczas wywoływania funkcji podajesz tekst i typ ucieczki jako argumenty.

Składnia

Składnia wygląda tak:

STRING_ESCAPE( text , type )

Gdzie tekst to tekst, który zawiera znaki, które mają zostać zmienione, i wpisz określa obowiązujące zasady ucieczki.

Obecnie jedyna obsługiwana wartość dla typu argumentem jest 'json' .

Przykład 1 – Podstawowe użycie

Oto przykład tego, jak to działa:

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

Wynik:

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

Oto przykład ucieczki ukośnika:

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

Wynik:

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

A oto przykład z nieco większą ilością tekstu:

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

Wynik:

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

Przykład 2 – Nieprawidłowy typ

W chwili pisania tego tekstu jedyna obsługiwana wartość dla typu parametr to 'json' . Oto, co się stanie, jeśli podamy nieobsługiwaną wartość:

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

Wynik:

An invalid value was specified for argument 2.

Znaki do ucieczki

W chwili pisania tego tekstu STRING_ESCAPE() funkcja może zmienić tylko znaki specjalne JSON wymienione w poniższej tabeli:

Znak specjalny Zakodowana sekwencja
cudzysłów (") \"
Odwrócony solidus (\) \|
Solidu (/) \/
Backspace \b
Kanał formularzy \f
Nowa linia \n
Zwrot karetki \r
Karta pozioma \t
Znak sterujący Zakodowana sekwencja
ZNAK(0) \u0000
ZNAK(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. Jak dynamicznie mapować kolumny wejściowe i wyjściowe w SSIS?

  2. Konwertuj nazwę miesiąca na numer miesiąca w programie SQL Server (T-SQL)

  3. Data/sygnatura czasowa do zarejestrowania, kiedy rekord został dodany do tabeli?

  4. Jak znaleźć znaki Unicode/nie-ASCII w polu NTEXT w tabeli programu SQL Server 2005?

  5. Jak uzyskać informacje o dacie/godzinie z kolumny TIMESTAMP?