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 |