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?